X code6 模拟器路径

         Xcode6发布后,出现了很多的变动,功能性的变动,在这里不进行过多的赘述,在WWDC上苹果已经进行了讲述,网上也有很多文章,这里要介绍的是一些不太容易发现的,但很重要的小地方。
         1、Xcode6模拟器路径的变更
          在Xcode5和之前的版本中,Xcode的模拟器路径为:/Users/username/Library/Application Support/iPhone  Simulator。在该文件夹下,可以查看到所有的模拟器版本,点进去后,可查看应用沙盒情况。
在开发中,建议将文件拖动快捷路径到Finder左侧个人收藏下,可以方便打开查看应用沙盒。
        在Xcode6中,将模拟器的位置进行了变更,地址如下:/Users/username/Library/Developer/CoreSimulator,打开后会发现如下情况:
        在这里,苹果对模拟器进行了编码处理,并不是以模拟器系统版本进行的命名和分类,而是对Xcode6中所有的模拟器进行的区分,里面的16个文件夹分别对应的Xcode6中的16种模拟器 ,那如何根据这个看似乱码的文件夹,判断出是哪一款模拟器呢? 
       选中某个文件后,打开会看到一个名为data的文件夹,和device.plist的配置文件,打开device.plist的配置文件后,会看到模拟器的UDID、设备类型、系统版本、名称等。通过这个可以知道模拟器的设备和系统版本。打开后,会发现,前面的看似乱码的文件名称,其实就是模拟器的设备UDID,虽然从这里可以得到模拟器的UDID,苹果也用它来进行分类模拟器,但在实际的编程中,如果想最后发布到APP Store的话,还是放弃UDID吧,这也是苹果比较霸道的一点,当然了也是在保护用户隐私的情况下做出的。 
         2、应用沙盒地址的变更
        得到了模拟器路径后,还是用很多的不同的,应用的沙盒地址也和之前有所不同。
       在Xcode5及之前的版本中,沙盒地址为如下:/Users/username/Library/Application Support/iP hone  Simulator/7.0.3/Applications,在Applications文加下,会找到应用程序的沙盒。
       在打开应用沙盒后,会有应用程序文件、Document文件夹、Library文件夹、tmp文件夹。至于这几个文件夹的作用不在此做赘述。
       在Xcode6中,应用程序文件、Document文件夹、Library文件夹、tmp文件夹这四个文件放在了不同的目录中。应用程序文件路径:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Containers/Bundle/,Application文件夹下;Document文件夹、Library文件夹、tmp文件夹路径:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Containers/Data/,Application文件下。但是不幸的是,这两个路径打开后的文件名,还是经过编码过的,而且,同一个应用中的应用程序文件和D、L、t文件夹所在的文件夹的文件名是不同的。只能自己找。 
       3、NSUserDefault 文件存储位置变更
       NSUserDefault是iOS提供的本地化数据存储方式,会在沙盒中自动创建一个.plist的配置文件,将数据保存起来,在读取时,以NSDictionary字典来进行接收 
       在Xcode5及之前的版本中,具体的路径为:/Users/shifengwei/Library/Application Support/iPhone Simulator/7.0.3/Applications/C9588981-3D82-49BC-92B8-F5BA72185629/Library,Preferences文件夹下,名称为程序Bundle Identifier的plist文件。在删除模拟器中的程序后,在Library文件夹下的plist文件会相应的删除。
       在Xcode6中,程序对使用NSUserDefault方式创建的plist文件的位置进行了更换,具体路径为:/Users/username/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Library,Preferences文件夹下。
       这里特别说一下,如果按照在Finder里打开的路劲来看,并不是这样的,但通过 Finder,前往文件夹,通过该路径查找是可以查到的。上述的路径地址是通过查看Preferences文件夹的显示简介获得的。
        通过上述的路径可以看出,通过NSUserDefault创建的plist文件夹还是在Library文件下,但不同的是,真正存放的位置变了,成了在模拟器的资料库文件夹下,这样的改变所产生的变化就是,当我们在删除模拟器中的应用程序后,plist文件还是会保留,并不会删除。
       那么,既然模拟器中的位置变了,那升级到iOS8后,在这方面有什么不同呢?下面就说说在在真机中调试的不同。
        1、Organizer中,在Xcode5中,是Devices、Projects、Archives三栏,而在Xcode6中,单独将Devices拿了出来,成了和Organizer平级的,在Xcode菜单栏,Window下。如果了解过Xcode从4.X升级到5时,就会知道,Organizer在那个时候也变更过,从原来的四栏变成了三栏,将帮助文档移除了。
       2、在进行真机调试时,会打开真机中应用程序的沙盒,进行查看,在Xcode中,  打开Devices的Application中,可以下载下来应用程序的沙盒,通过右击显示包内容来查看沙盒的信息。但是在iOS8和iOS7及之前出现了不同。
       上图为同一款应用在不同的系统中所表现的,左图为iOS8下,下载下来的沙盒内容,右图为iOS7.0.4下,下载下来的沙盒内容,很显然,在iOS8下,通过Devices下载的沙盒内容无法查看沙盒里面的内容。 
                我们通过第三方的软件,在这里使用的是iFunBox,找到应用程序后,打开发现可以查看到沙盒的内容,复制到本地后,发现,原本的5个文件,只有3个,也就是Document文件夹、Library文件夹、tmp文件夹三个。
     这里特别说一下,上述提到过的,在模拟器中,通过NSUserDefault自动创建的plist文件,在删除软件后,还会保留,但在真机中,也是会删除的,相应的plist文件的路径到了通过导出的Library文件夹下的Preferences文件夹下,删除应用程序后,不会保留。这应该算是一个真机和模拟器中的不同。
       这个不同会造成一种情况,那是否还可以使用NSUserDefault?就笔者目前来看,还不至于废弃NSUserDefault,毕竟它只是在模拟器中会出现删除应用保留的情况,在真机中不会,而且NSUserDefault在开发中,作为数据持久化,在保存数据时,还是很好用的。当然了,也有开发者会不适应这种情况,担心在真机中会出现,如果有开发者认为不适应的话,可以自己创建一个plist文件在沙盒中,代替,但是如果说应用中使用的NSUserDefault比较多的话,不建议这样,毕竟苹果封装的NSUserDefault还是很好用的。可以在模拟器删除文件后,在保存plist文件的文件夹下,将plist文件删除即可,多个步骤而已,至少目前来看,在真机中还是和之前一样的。
       当然,在iOS中,除了NSUserDefault会系统自动生成文件进行数据保存外,归档也是一样的,由于笔者没有进行测试,为了避免误导,这里就不说了,待测试后,进行总结发布。

PS:最后补充一下,打开或关闭Mac的隐藏文件的命令。
打开Mac隐藏文件命令:defaults write com.apple.finder AppleShowAllFiles -bool true
关闭Mac隐藏文件命令:defaults write com.apple.finder AppleShowAllFiles -bool false
方法:在终端中,输入该命令,回车,然后在强制退出中,重启Finder,即可。

由于图片较多,发表上传图片有限制,因此,附上附件,可进行下载查看。  Xcode6模拟器路径pdf.pdf (823 K) 下载次数:363

Xcode 模拟器路径相关推荐

  1. 杂记-01.xcode模拟器管理

    xcode模拟器 一.Xcode允许我们使用xcrun命令运行模拟器 1.列出你安装的所有可用的设备 xcrun instruments -s 复制代码 2.开启指定模拟器(上面的列表就是可用模拟器名 ...

  2. 终端:Xcode模拟器上安装.app方法

    前言 有的时候,我们可能需要将别人的Xcode运行之后的程序包(xxx.app)安装在自己的模拟器上,如下我将介绍如何通过终端来安装. 实现 获取自己Xcode生成的xxx.app steps 1:在 ...

  3. Xcode 模拟器Simulator手动下载

    可能有小伙伴跟笔者有过共同的问题,因为手里的测试机机型有限,在适配时需要各个版本的 iOS系统都要测试一下. 然后呢就需要下载模拟器 再然后打开Xcode->Component 再然后找到对应的 ...

  4. Xcode证书路径和缓存清理路径

    1.Xcode证书路径: ~/Library/MobileDevice/Provisioning Profiles 2.Jenkines共享证书路径: /用户/共享/Jenkins/Library/M ...

  5. Xcode模拟器上安装.app的方法

    Xcode模拟器上安装app的方法 (.app) 背景: 因为项目中有用到es6的语法,导致前端页面在低版本系统的ios手机上显示白屏.我这ios11.1系统就开始显示白屏了,由于公司没有这个系统的测 ...

  6. (0043) iOS 开发之Xcode相关路径

    Xcode 常用用路径: 1. 插件路径: ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins 2. 模拟器app路径: ~/L ...

  7. 清理xcode模拟器_Xcode 清理存储空间

    Xcode版本:8.3.3 iOS版本:10.3.2 移除 Xcode 运行安装 APP 产生的缓存文件(DerivedData) 只要重新运行Xcode就一定会重新生成,而且会随着运行程序的增多,占 ...

  8. 清理xcode模拟器_Xcode 磁盘空间大清理

    我的设备是Macbook Air 13' Mid 2011,128G SSD.最近开始有些存储压力了,用Clean My Mac清理一部分旧文件后,决定对Xcode动手. 移除对旧设备的支持 影响:可 ...

  9. Xcode6.1 模拟器路径

    Xcode 5的iOS模拟器的应用的目录是在~/Library/Application Support/iPhone Simulator/<iOS_Version>/Application ...

最新文章

  1. arcgis超级工具密码_忘记电脑密码怎么办?只需要简单这样做
  2. c# SQLServer导入大批量数据
  3. STM32 UART串口驱动程序
  4. SpringBoot 2.x 整合Lombok
  5. python3一个简单的网页抓取
  6. 安装使用ubuntu和opensuse
  7. 使用requests库实现多线程下载
  8. Tomcat部署记事
  9. c语言删除文件remove_「Python」 - 文件基本操作
  10. 安川焊接机器人做圆弧运动编程_安川焊接机器人编程
  11. 在LabWindows/CVI中程控的调整表格控件的属性
  12. ROS海龟跟随(坐标变换)
  13. 读论文,第十一天:Flexible Strain Sensors for Wearable Hand Gesture Recognition: From Devices to Systems
  14. rgb sw 线主板接口在哪_10400F最有性价比的主板,来自H410M的背刺
  15. NetworkManager network-manager 的 /etc/NetworkManager/system-connections/*.nmconnection
  16. centos8在线文档编辑ONLYOFFICE安装
  17. 《数据统计分析及R语言编程(第二版)》练习题总结(一)
  18. 20世纪中文小说100强
  19. windows无法启动此程序,因为计算机中丢失rtl70.bpl
  20. 富士康用机器人取代了6万个工人

热门文章

  1. 工作中碰到的Java问题整理及解决方案
  2. 读取mat文件数据当中某一行或某一列
  3. ubuntu 联网设置
  4. java如何调取别人接口_调别人的接口会,现在别人调我的接口。不知道怎么操作了...
  5. Arria 10上进行DDR3管脚分配
  6. CSS 轻松实现‘毛玻璃’效果
  7. 全梯度下降算法、随机梯度下降算法、小批量梯度下降算法、随机平均梯度下降算法、梯度下降算法总结
  8. 计算机应用软件的主要功能,计算机管理信息应用软件系统主要有哪些方面的功能要求?...
  9. 华为手表鸿蒙系统什么时候上市,打脸还是华为强,鸿蒙系统将Watch GT 2智能手表上市...
  10. 历届试题 格子刷油漆