0

我的应用程序是用于 Voip 的,它可以在后台运行。当它在后台运行很长时间时,会调用 `application:didFinishLaunchingWithOptions:' 方法,然后我的应用程序停止运行。我想知道:为什么 voip 应用程序在后台运行时,调用了 application:didFinishLaunchingWithOptions 方法?如果调用了这个方法,我应该怎么做才能让我的应用程序继续运行?任何身体都可以帮忙吗?谢谢...

4

2 回答 2

0

我在猜测,但我认为您的应用程序可能会收到内存警告。并且application:didFinishLaunchingWithOptions:每次运行应用程序只调用一次。只需尝试通过覆盖- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application您的应用程序委托中的方法进行调查。这可能是崩溃的原因。

于 2013-04-18T06:13:41.073 回答
0

VoIP 应用程序在电话启动时启动。启动时,您会在手机控制台中看到您的应用程序正在启动。如果您多次使用日志调用 application:didFinishLaunchingWithOptions,则您的应用程序可能正在崩溃或手机正在为内存而杀死它。如果您在 plist 中注册为 voip 应用程序,则可以在 applicationDidEnterBackground 中调用 setKeepAliveTimeout:handler: 以每 10 分钟(600 秒)运行一次 SIP 注册。顺便说一句,不要试图让 application:didFinishLaunchingWithOptions 保持运行;我相信它会在 iOS 杀死你的应用程序之前得到 5 秒。

查看开发 VoIP 应用程序的技巧:https ://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

于 2013-04-25T16:36:48.243 回答