问题是我的应用程序会在iPhone的用户文档目录中保存数百兆字节。在测试期间,iPhone模拟器需要很长时间才能在每次构建时启动应用程序,因为每次重建时它都会将所有这些数据复制到新的文档目录中。有没有解决方案,只是每次都将目录放在同一个地方或以某种方式加速启动?例如,具有HEX值的导演会更改iPhone模拟器上的每次重建/重新启动,这可能非常耗时:
./ Library / Application Support / iPhone Simulator / User / Applications / B32A0BA1-5843-4FDE-B5FB-4E40460BD8CC / Documents /
谢谢,
马特
答案 0 :(得分:11)
模拟器(与设备本身不同)不必保留在沙盒位置。
因此,当从模拟器保存文件时,您可以尝试:
#if TARGET_IPHONE_SIMULATOR
// save your files to a fixed location on your hard-disk
// (like /Users/yourusername/MyIPhoneAppDebugStorage)
#else
// Save files normally
// (to [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
// NSUserDomainMask, YES) objectAtIndex:0])
#endif
这样,从模拟器运行时,您的大文件总是位于硬盘上的固定位置。
答案 1 :(得分:2)
第一次运行后,让模拟器保持打开状态。只需在XCode中停止程序而不关闭模拟器。因此,在下一次测试启动时,它只需加载应用程序而无需再次加载模拟器。
这对我来说真的很快。
答案 2 :(得分:0)
为了缩短构建时间,最简单的方法可能是创建一个包含合理数据子集的新XCode目标。假设这些数据文件是XCode项目中的“资源”文件,您可以复制应用程序目标,将其重命名为“app lite”或其他类似文件,然后编辑“复制资源”构建阶段以不包括所有文件(或者一个小文件,或者其他什么。)
答案 3 :(得分:0)
每次构建和运行时,XCode都不会创建新目录,只是重命名旧目录。
我有数据存储在文档目录中,每次启动时都会存在,除非我在运行应用程序之前明确删除它。
我很好奇启动模拟器的时间。你可以通过应用调试吗? (这是你的代码需要花时间吗?)
克里斯。