iphone/ipod touch app 的开发使用了沙盒,即程序员能访问的一些文件要在自己程序的沙盒之内,一个应用程序的目录除了编译后的程序文件,通常还会有自己的document,tmp目录,可以通过调用api来获取这些路径,然后保存文件。 当使用xcode编译执行时,通常会启动一个iphone simulator来执行app,但是有个问题是,每次用simulator启动时,生成的app程序的根目录都是不同的。这也意味着,如果你有一份存好数据的文件,要放到document或者tmp目录下,然后在应用程序里通过调用GetDocumentDirectory类似的api来读时,得到的都是不同的路径(如果不修改代码,不重新编译则不会),也就是说,你需要每次测试运行时,都要把你保存好的数据文件拷到本次程序运行目录的document下,这样调试起来非常麻烦。如何解决这个问题? ? 其实也很简单。。。用google大法就好了。沙盒技术是在跑真正的iphone/ipod touch上时的限制,当跑simulator时,其实可以从其它路径读取文件。也就是说,你可以把文件放到一个你指定的其它地方,不需要放到app下的document下,这样当跑simulator时,app也可以读到非自己沙盒的目录下的文件。而当真正发布一个app时,也就是在iphone/ipod touch上运行时,则每次app的运行的根目录是固定的(不象跑simulator时会动态改变),这时再把数据文件放到真正的沙盒document或者tmp目录下就可以了。 为了综合这上面这两种情况,当以simulator的方式来跑的时候,会有一个 TARGET_IPHONE_SIMULATOR ? 的宏,所以我们可以在获取文件时这么写: ? ? - (NSString?*) dataFilePath { #if TARGET_IPHONE_SIMULATOR return?@"/Users/fengbo/project/test/yourFileName"; #else NSArray?*paths =?NSSearchPathForDirectoriesInDomains(NSDocumentDirectory ?,?NSUserDomainMask,?YES); NSString?*documentsDirectory = [paths?objectAtIndex:0]; return?[documentsDirectory?stringByAppendingPathComponent:@"yourFileName"]; #endif } ? ? 这样就可以满足上面两种情况了。
详细解决方案
iphone simulator 资料路径
热度:216 发布时间:2016-04-25 06:29:15.0
相关解决方案
- iphone 模拟器,该如何处理
- 有哪位高手用过JPlayer ,进来一下,IPHONE 等设备播放有关问题
- 对照Windows 8模拟器(Simulator)和Windows Phone仿真器(Emulator)
- 单个人去做手机开发选什么平台好?android,iphone?解决办法
- 手机模拟器V7 Simulator 跟 WinWAP for Windows 的用法
- 对于手机android iphone ipad 在线播放视频,服务器需要哪些要求呢?该怎么解决
- >>> PayPal mobile for Android / iPhone 开发包 开放啦!
- iphone + html5是个美模式
- ipad 和 iphone 上的有关问题
- iPhone 筹建PHP版Push服务器 实例操作
- iphone 获取UIWebView内Html步骤
- iPhone Android Web开发(要略)
- 一九七零年// iPhone “变砖”后可继续正常使用的解决方案
- 怎么禁止 iPhone Safari video标签视频自动全屏
- iPhone 六的自适应布局
- 腾挪端实现 iphone android 小图标 文字排版
- iPhone:动态获取UILabel的高度跟宽度
- 有人模仿小弟我的脸、有人模仿小弟我的面,iPhone 6的假面舞会
- iPhone @2x与@3x的图片加载有关问题
- iPhone 6 / 6 Plus 出现后,怎么改进工作流以实现一份设计稿支持多个尺寸
- jQuery 判断iPad、iPhone、Android是横屏仍是竖屏
- 检测香港特别行政区 iPhone 6 库存信息
- iPhone、iPad挟制关机
- iPhone How-to:怎么清除控件的Target-Action
- 为啥 iPhone 的拍照效果比其它手机优秀
- iPhone 跟 Galaxy快速拍照原理详细分析
- 5个方法,将 storyboard 从 iphone 版转变为 ipad 版
- iPhone 六是否比以前的iPhone更加帅
- iphone 获取手机现阶段内存大小
- Hacking EV3系列之7:iPhone 手势无线控制LEGO EV3 Gyro Boy 机器人