我正在尝试将我的应用程序的用户带到AppStore以获得几个不同的功能 - 例如升级到完整版,评分/评论或只是查看我开发的另一个应用程序。但是,所有这些都导致我的应用程序在设备上启动iTunes时终止。我正在使用一些简单的代码和 尝试了很多URL组合,所有这些组合都能成功地到达目的地。以下是行为:
代码通过以下方式将其引导至网络:
[[UIApplication sharedApplication] openURL:
[NSURL URLWithString:[[MyApp defaultApp] itunesLink]]];
我的应用程序转到后台,我的委托的applicationDidEnterBackground被成功调用
我已尝试将itunesLink作为itms://itunes.apple.com/app/或使用http - 所有这些都达到了正确的终点。如果我使用www.google.com它工作正常,我的应用程序没有终止,只是发送到后台,网站显示确定。
其他一点是,当我通过模拟器运行时,openURL调用返回失败并且不会打开任何URL。
有关为什么我的应用程序将终止的任何见解?它的行为类似于iOS安全功能或关闭我的应用程序的东西,但我认为我所做的是相当标准的东西。
如果有人见过类似的话,我真的很感激有关情况的建议。
答案 0 :(得分:1)
您的应用可能因多种原因而被终止。最好的方法是使用Xcode的管理器查看设备控制台:
您的应用可能会因内存不足通知而被终止。一旦它移动到后台并且应用程序商店启动(iTunes和应用程序商店都使用大量内存),它就可以被杀死以释放内存。在这种情况下,您将设置来自“jetsam”的消息,如下所示:
<Notice>: jetsam: kernel termination snapshot being created
<Warning>: Application 'UIKitApplication:com.yourapp[0x6337]' exited abnormally with signal 9: Killed: 9
您应该使用Instruments中的Activity Monitor来查看您的应用程序使用了多少内存。 iOS将首先终止大多数内存密集型应用程序,因此您应该尝试减少应用程序的内存占用。