如何加快iPhone模拟器中的应用程序启动速度?

时间:2009-06-02 20:46:36

标签: iphone xcode ios-simulator

问题是我的应用程序会在iPhone的用户文档目录中保存数百兆字节。在测试期间,iPhone模拟器需要很长时间才能在每次构建时启动应用程序,因为每次重建时它都会将所有这些数据复制到新的文档目录中。有没有解决方案,只是每次都将目录放在同一个地方或以某种方式加速启动?例如,具有HEX值的导演会更改iPhone模拟器上的每次重建/重新启动,这可能非常耗时:

./ Library / Application Support / iPhone Simulator / User / Applications / B32A0BA1-5843-4FDE-B5FB-4E40460BD8CC / Documents /

谢谢,

马特

4 个答案:

答案 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都不会创建新目录,只是重命名旧目录。

我有数据存储在文档目录中,每次启动时都会存在,除非我在运行应用程序之前明确删除它。

我很好奇启动模拟器的时间。你可以通过应用调试吗? (这是你的代码需要花时间吗?)

克里斯。