iOS 开发技巧 - 实时访问真机沙盒文件

iOS 开发过程经常需要访问沙盒文件来调试持久化文件,数据库等。模拟器一般可以通过收费软件 SimPholders 或者开源的 SimSim 来实时访问沙盒。但真机没有一个方便快捷的访问修改方法。

其实我们可以利用 GCDWebServer 内置的 GCDWebUploader 扩展来实现这个目的,使用方法很简单。

使用 pod 或者 Carthage 方式安装 GCDWebServer
AppDelegate:didFinishLaunchingWithOptions 调用使用以下方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class AppDelegate: UIResponder, UIApplicationDelegate {
...
var server: GCDWebUploader!
...

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
...
// 在文档目录启动 GCDWebUploader 服务
let mydocpath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0]
server = GCDWebUploader(uploadDirectory: mydocpath)
server.start()
...
return true
}
}

启动后可以看到以下 log

1
[INFO] GCDWebUploader now locally reachable at http://iPhone-3.local/

直接用浏览器访问 http://iPhone-3.local/ 就可以在这个网页实时查看,修改删除沙盒文件。
效果如下:
ios8-photo-kit