博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 真机访问 sandbox 目录的各种姿势
阅读量:3592 次
发布时间:2019-05-20

本文共 1304 字,大约阅读时间需要 4 分钟。

我一直知道,要做成同一件事,程序员们的方式往往五花八门。所以这次就一个问题在微博上征集答案,果然得到了许多不同方案,和大家分享下。

平常调试一直有看日志的需要,我们一般将日志文件存放在 sandbox 的 Document 目录下,之前我如果要查看某台设备上的日志,一般是按如下两种方式:

方式一:使用 iTools,Mac 端的 iTools 可以访问真机 App 的完整目录,虽然 iOS 8.3 之后无法查看其他 App 的目录了,但自家公司开发的 App 还是有权限的。不过由于 iTools 集成的其他东西太多,工具体验也不好,后来就没怎么用了。

方式二:使用 Xcode 自带的工具,通过菜单 Windows -> Devices 进入设备管理界面,选中 iPhone 之后可以查看 Installed Apps,再通过 Download Container 的方式可以将整个 App 下载到 Mac 上。

直觉告诉我,肯定还有其它不少便捷的方式,心血来潮在微博上征集答案,收获如下:

@: 模拟器用 tysimulator 真机用 iMazing

这也是借助第三方 App 的方式,iMazing 我试用了确实可行,浏览目录功能免费,还有不少其他诸如资料备份的强大功能,收费。

@: 我写了个通过浏览器打开 app 的沙箱文件的 demo,相当于内置一个 http 服务器一样,很好用

Github 上见过不少这类实现,在 iOS 端起一个 HTTP 服务器,浏览器直接访问 sandbox 目录。同样的做法还有不少网友提供了。

@:SimPholders?

SimPholders 是款收费的 Mac 端 App,有不少针对开发者的高级功能,不过只支持模拟器。

@:plist 里设置成 iTunes 共享,连接同步推之类的软件可查看 documents 目录

这种做法之前也想到过,不过发布前要记得改 plist 文件,稍嫌麻烦。

@ : 

这种做法也是在 iOS 端起 HTTP 服务器,不过 @艾力亚尔 给出的方案更具体,可以用开源第三方库  在 iOS 端做服务器用,之后用浏览器访问具体网址就可以了,支持 WebDAV。

实际上,之所以想到这个问题,是想做个小工具改善下体验,最初我的思路有两个:

思路一:做一个简单的 Mac 端 App,可以直接读取设备的 App 列表,选中后可以浏览 Sandbox 目录。这种方案相当于 iTools 的精简版。

思路二:在 iOS 端集成一段代码,可以通过摇一摇呼出一个文件浏览器界面,浏览 Sandbox 目录,再通过选中日志文件,以 airdrop 的方式分享到 Mac 端。

方案一需要连 USB,而且要装一个 Mac 端 App,比较之下第二种方案实现简单,体验更一气呵成,最后就花时间把思路二实现了,名为 AirSandbox,和大家分享。

AirSandbox

点击阅读原文可以跳转到 Github 页面。

只需要添加如下代码,即可通过从屏幕右侧左滑,呼出 sandbox 目录的文件浏览器。

 

界面如下

 

 

 

有需要的同学可以去  :)

 

转载地址:http://rqhwn.baihongyu.com/

你可能感兴趣的文章
【c语言】蓝桥杯算法提高 c++_ch02_04
查看>>
【c语言】蓝桥杯算法提高 3-1课后习题2
查看>>
【c语言】蓝桥杯算法提高 3-2求存款
查看>>
【c语言】蓝桥杯算法提高 3-3求圆面积表面积体积
查看>>
【c语言】蓝桥杯算法提高 P0401
查看>>
【c语言】蓝桥杯算法提高 P0402
查看>>
【c语言】蓝桥杯算法提高 三个整数的排序
查看>>
【c语言】蓝桥杯算法提高 P0101
查看>>
【c语言】统计字符次数
查看>>
CTDB原理介绍
查看>>
CTDB配置文件参数解析
查看>>
利用NFS共享搭建CTDB集群
查看>>
Python面向对象编程
查看>>
MAN QPIDD
查看>>
python import自定义模块
查看>>
Python利用XMLRPC实现分布式系统
查看>>
执行yum提示错误:rpmdb: BDB0113 Thread/process 424227/139826856310848 failed
查看>>
proftpd服务器搭建
查看>>
ProFTPD:Limit配置
查看>>
IDEA恢复布局
查看>>