iPhone模拟器使用iOS 4运行旧版本的代码

时间:2010-08-20 14:48:31

标签: ios4 ios-simulator

我遇到了iPhone模拟器运行iOS 4应用程序二进制文件的过时版本的问题,因为看起来Xcode并没有完全杀死这个过程,因此调试器正在从之前的构建中获取应用程序进程/ debug cycle,即使我单击工具栏上的“Kill”按钮。

有没有人知道一种强制模拟器停止并重新加载新编译的二进制版本的方法,除了i)退出模拟器ii)完全重置模拟器?这两种方法都很不方便,并且会降低代码/构建/调试周期。

4 个答案:

答案 0 :(得分:2)

如果您在开发过程中遇到此问题,则以下是解决方法:

- (void)applicationDidEnterBackground:(UIApplication *)application {
#if (TARGET_IPHONE_SIMULATOR)
  abort();
#endif
}

从重新编译时,它会将应用程序置于后台,这将中止执行。当然这会阻止模拟器中的任何多任务使用,不应该在最终版本中使用(因为苹果不喜欢abort()调用)。

答案 1 :(得分:1)

我提交了一个关于此的错误(rdar:// 8247461)并且它被标记为rdar:// 8060328的副本 - 这让我发疯 - 我希望它很快得到解决。

答案 2 :(得分:1)

如何在你的plist中使用 UIApplicationExitsOnSuspend

答案 3 :(得分:0)

我不确定您遇到此问题的原因,但如果您想从模拟器中删除应用程序,请单击并按住该应用程序以显示删除。如果您可以通过双击主页按钮然后单击并按住应用程序来终止后台应用程序。很抱歉,如果这些都不是您要找的。