如题,本文主要研究如何在mac上获取开发使用的模拟器的资源以及模拟器中每个应用的应用沙盒。做过安卓开发的小伙伴肯定很方便就能像打开资源管理器一样查看我们写到手机本地或应用中的各种资源,但是在iOS开发中,在真机上还可以通过一些软件工具 iExplorer 等查看手机上的资源,但是如果你在开发过程中经常使用xcode自带的模拟器进行调试,这是你要查看模拟器中相关应用的数据则显得无能为力。。。
申明一下,本文指出的方法主要是针对xcode9.0和macOS High Sierra版本,通过这次的研究和摸索,不同版本上的方法各不一样,但是大体都差不多。下面两张图第一张是模拟器上的资源文件夹式的资源库,第二张是模拟器中某个应用App对应的应用沙盒(其实就是该应用对应的文件系统目录)。
首先,由于Mac系统上对系统资源没有像windows一样完全开放,在macOS上资源库对用户默认是隐藏的,用户无法很方便的获取到系统的硬盘资源目录。而我们今天要找的资源信息都在系统的硬盘资源库中,所以我们的第一步是找到macOS系统的资源库。这里提供两种方法:第一种是一劳永逸型的,第二种是懒加载型的。
1、打开Finder-->偏好设置-->边栏-->勾选 设备 下的 硬盘,然后打开Finder就会发现 左边栏 设备 下面出现了你的硬盘名字,点击进去之后就会有系统、应用程序、用户、资源库的文件夹。然后进入资源库即可。通过实践,本方法貌似找不到模拟器的文件目录,不知道什么原因,希望知道原因的大神解释一波。后来仔细对比了一下发现,我们模拟器所在的资源库是 用户-->apple ID-->资源库,而不是我们这里的资源库,所以本方法失效。
2、打开Finder,点击 前往 + 按下Option,下拉菜单中会出现 资源库 这一项,单击进入即可。需要找到模拟器的目录目前好像只有通过本方法
接下来,我们就直接进入我们需要的模拟器资源库,模拟器资源库的路径:Users/mukekeheart/Library(即资源库)/Developer/CoreSimulator/Devices/[simulater ID]/data,即可进入图一总所示的模拟器资源库目录。其中模拟器的ID在xcode-->windows-->Device and simulators中选定要查看的模拟器设备,找到其id,然后打开对应的数据文件夹。
最后,我们需要找到该模拟器下每个app的应用沙盒,即最上面图2的文件夹。模拟器中App的应用沙盒文件夹目录是:/Users/mukekeheart/Library(即资源库)/Developer/CoreSimulator/Devices/[simulater ID]/data/Containers/Data/Application/[应用程序App ID] ,这样我们就可以查看对应应用app的资源文件了。