Xcode中iOS模拟器程序中的plist路径

Xcode6.4里写了个简单的iOS程序在模拟器中跑。

其中用到了NSUserDefaults来保存属性文件plist,那么这个文件实际路径在哪里呢?在网上搜了一下,发现几种说法(*表示当前用户名):

1.Xcode5和之前的版本模拟器路径在:

/Users/*/Library/Application Support/iPhone Simulator

里。

2.Xcode6中,模拟器位置发生了变化:

/Users/*/Library/Developer/CoreSimulator

其中的Devices目录中的每个子目录表示一种实际的模拟器;每种模拟器都有一个device.plist文件,可以知晓该模拟器的设备和系统版本。
聪明的我们可以通过按修改时间排序快速找到发生变化模拟器的子目录:

3.Xcode5及之前的版本中沙盒地址如下:

/Users/*/Library/Application Support/iPhone Simulator/x.x.x/Applications

4.在Xcode6中沙盒应用程序路径为:

/Users/*/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Containers/Bundle/Application

5.NSUserDefault文件在Xcode6中在:

/Users/*/Library/Developer/CoreSimulator/Devices/模拟器UDID/data/Library/Preferences

文件夹中。

实际在Xcode6.4中发现NSUserDefault的plist文件不在第5条所说的路径中,因为有一条记录的key为onOff所以通过暴力搜索发现路径如下:

pwd
/Users/apple/Library/Developer/CoreSimulator/Devices/模拟器UDID/data
apple@kissAir: data$grep -ri onOff *
Binary file Containers/Bundle/Application/APP UDID/ShowMyPicture.app/ShowMyPicture matches
Binary file Containers/Data/Application/APP UDID/Library/Preferences/HopyStudio.ShowMyPicture.plist matches

注意最后一条搜索结果,这个就是实际文件的路径,打开后如下:

时间: 2024-10-01 09:27:38

Xcode中iOS模拟器程序中的plist路径的相关文章

XCode 5 “ios模拟器未能安装此应用程序”解决办法

首先,提示界面如下: 搜了下,网上给出的结果如下:(方法地址) 使用Xcode5进行App编译到模拟器时,偶尔发现会弹出"ios模拟器未能安装此应用程序"的错误.发现问题存在于程序异常编译,可使用以下方法解决,分享之: 方法1)cd ~/Library/Application Support/iPhone Simulator进去,删除里面所有的文件夹.重启Xcode和模拟器即可. 方法2)打开模拟器,在菜单栏中 ios模拟器->还原内容和设置,操作即可. 这种方法确实可行,但当情

xcode反汇编调试iOS模拟器程序(三)查看Objective-C函数与参数

在Objective-C函数的入口处(第一行)加断点,可用esp指针来探查参数. 以esp为基址,往后的偏移分别是: 0:函数执行完毕后的返回地址(不是返回值的地址哦) 4:对象实例的指针,即self指针 8:selector,实际是一个char数组型的字符串,即char* 12:(如果有)第一个参数 -(前一个参数的基址+前一个参数所占的字节数):(如果有)第n个参数 由此,要调试这样一个函数 - (void)para1:(id)p1 para2:(CGRect)p2 para3:(CGPoi

xcode反汇编调试iOS模拟器程序(一)查看反汇编

iOS模拟器程序的实质就是Mac OS X程序,只不过它需要以模拟器为载体来运行显示.故它的反汇编代码指令都是x86 CPU的,不是真机上的arm指令. 研究模拟器程序的反汇编有两个目的,或叫做好处: 一是为了研究深入到iOS系统的类库,你可以较容易地发现私有API,以及看到系统的实现. 二是,很直接地,模拟器调试比真机快.而且,相信大多数人更懂x86指令,各类高校教材的汇编教程都不是arm指令的吧. 首先问题是如何看到反汇编代码: 操作:Xcode顶部菜单->Product->Debug W

xcode反汇编调试iOS模拟器程序(八)反汇编自己的代码来掌握规则

掌握了基本技巧后,基本上已不难理解所有的反汇编结果.授之以鱼不如授之以渔: 通过观察自己写的代码的反汇编来掌握各种代码的反汇编结果,从而逆向推测系统代码的源码. 调试自己写的代码时,可以不断切换查看源码和反汇编来定位代码执行到何处 这里分别用两个很简单的C++和Objective-C类来做示例: class TestC { int m_var; public: int getVar(); void setVar(int var); }; @interface TestOC : NSObject

在iOS应用程序中使用Frida绕过越狱检测

 您当前的位置: 安全博客 >  技术研究 >  在iOS应用程序中使用Frida绕过越狱检测          阿里聚安全在之前的三篇博客中介绍了利用Frida攻击Android应用程序,整个过程仿佛让开发者开启上帝视角,在本篇博客中,我们将会介绍在iOS应用程序中使用Frida绕过越狱检测.即使你从来没有使用过Frida,这篇文章也将会作为进入移动安全开发和分析的入门指南. 相关文章内容: 利用FRIDA攻击Android应用程序(一) 利用FRIDA攻击Android应用程序(二) 利用

xcode反汇编调试iOS模拟器程序(四)自动断点应用之NSNotificationCenter

知道怎么查看后,先看看有什么实际应用,拿NSNotificationCenter来做实践吧. 首先在某个容易进入的地方加断点,并停在那,例如main函数.在gdb或lldb输入命令,手工添加断点.如下图: 输入的命令如下: b -[NSNotificationCenter addObserver:selector:name:object:] b -[NSNotificationCenter addObserverForName:object:queue:usingBlock:] 然后contin

IDA反汇编/反编译静态分析iOS模拟器程序(三)函数表示与搜索函数

打开IDA一般都是去搜索函数,可以说函数是IDA工程的基本单位吧,数据结构什么的都是为函数服务而已.函数列表在界面左侧的Functions Window: 可以看到,UIKit有27789个函数呢.在搜索前要先知道函数的表示方式. Objective-C函数的表示: 拿UIView来做例子吧.在xcode documentation中,UIView的函数会有这样的表示: + (void)beginAnimations:(NSString *)animationID context:(void *

IDA反汇编/反编译静态分析iOS模拟器程序(一)话说IDA

上个月写了一系列文章<xcode反汇编调试iOS模拟器程序>,是使用xcode来动态反汇编分析iOS模拟器程序的.这个系列则是静态分析,用到IDA来做反汇编/反编译.一些概念不会在此重复,遇到时可回读xcode反汇编系列. 之前有提到一些IDA的常识和下载地址,可看 <IDA Pro权威指南>读书笔记,同时这本书也是更深入挖掘IDA的参考书,只不过书里不会提到Objective-C.本系列使用的是Windows IDA 6.1和Mac IDA 6.4. 详细的关于IDA的介绍还是由

IDA反汇编/反编译静态分析iOS模拟器程序(二)加载文件与保存数据库

启动windows版的IDA,在Quickstart界面点击New,弹出一个对话框选择文件.也可以按取消后再把文件拖进IDA.由于Mac版的IDA没注册,没有save功能,所以只好先把Mac上的东西拷贝到windows再打开了. 能拖进IDA的文件可以是静态库.动态库.可执行程序等.对ios而言,可执行程序通常是build出来的.app包里的同名文件,当然,也可以是系统自带的程序.库文件主要是SDK中各个framework,以UIKit为例,它的iOS6.1模拟器版静态链接库的路径为: /App