欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

苹果手机上下载的文件在哪里?

程序员文章站 2022-03-18 16:43:16
(图文无关) 昨天在微信收到一个大文件,73M,突然意识到,微信升级,终于冲过了30M的文件传输限制。接下来的问题,这是一个开发工程文件,要在电脑开发环境使用,怎么把这个文件传输到电脑? 正常的方式是在电脑登陆电脑版微信,然后手机上转发到“文件传输助手”,电脑上就可以收到,然后重新下载。 不过这里有 ......

苹果手机上下载的文件在哪里?
(图文无关)

昨天在微信收到一个大文件,73M,突然意识到,微信升级,终于冲过了30M的文件传输限制。接下来的问题,这是一个开发工程文件,要在电脑开发环境使用,怎么把这个文件传输到电脑?
正常的方式是在电脑登陆电脑版微信,然后手机上转发到“文件传输助手”,电脑上就可以收到,然后重新下载。------不过这里有两个小障碍,如果这时候没有外网怎么办?如果网速很慢怎么办?如果是规范的文件,比如视频,比如图片,还可以用苹果的airdrop技术快速的传出来,对了,IOS11的airdrop已经有了中文名,叫“隔空投送”。如果是非规范的文件,比如是压缩包,那就只能借助第三方的一些程序,比如某些云端存储的苹果手机app,能支持iTunes传输就更好了,从而转折一下传输到电脑。

对我还有一个更简便的办法,因为我有一部越狱的苹果手机。这种手机现在已经很稀少了,所以下面的内容仅供参考,可能并没有太多应用价值。
首先在手机WIFI设置中查看一下手机的IP地址,其实连WIFI都没有也没关系,苹果手机自己就可以把自己当做WIFI热点。假设查到的手机地址是192.168.1.100,使用ssh链接到手机:

ssh root@192.168.1.100

输入密码登陆手机,随后,你就到了苹果手机里面了。现在的手机,完全相当于一台完整的电脑,特别是存储大点,128G/256G手机也不少见,比一般的电脑都不小,从哪着手呢?这需要先知道ios的存储结构是什么样的,在早几年其实已经有不少文章对ios存储结构做了详细介绍,但是由于越狱的艰难,很多ios底层开发团队都转行了,苹果又在逐次的更新中启用了全新的”沙盒“机制,现在的结构跟以前已经有了比较大的改变。先介绍几个常用的路径:

#系统应用文件夹,比如内置的浏览器、电话应用、联系等,这个路径跟macos是完全相同的:
/Applications

#用户安装的应用程序,甭管正常的AppStore下载、企业自主分发的应用还是开发版测试应用,都在这个文件夹:
/var/containers/Bundle/Application/

#用户应用产生的数据:
/var/mobile/Containers/

找微信下载的文件,当然到应用数据的存储目录中,所以:

cd /var/mobile/Containers/Data/
find . -size +70M -name "*zip"

这里说明一下,不要试图去按照微信中的文件名去寻找,那个只是显示用的,微信app一定是使用了自己的命名管理规则,我们基本只能确定文件的后缀应当不会被微信改变,此外作为一个不多见的大文件,指定查找的文件容量是一个好主意,当然还有文件的时间,不过find命令的时间查询还是有点难用,所以这里就使用上面一条指令来检索,很快就得到了结果:

./Application/46ADA490-A400-4966-8480-DF482EC482FF/Documents/0ba80ec6ed9e53b1800ee68d83f12815/OpenData/e8d27f2e74e87b59dcdde38fe8d7f2f2/437.zip

并且只搜索到这一个文件,接下来拷贝出来就好了,比如:

scp ./Application/46ADA490-A400-4966-8480-DF482EC482FF/Documents/0ba80ec6ed9e53b1800ee68d83f12815/OpenData/e8d27f2e74e87b59dcdde38fe8d7f2f2/437.zip andrew@192.168.1.103:~/

这里192.168.1.103是我桌面电脑的IP地址。局域网的拷贝也是一闪即至,文件转移到电脑上完成。上面的搜索结果中,还透露出来IOS沙盒机制的很多信息,这里就不多说了。