在什么情况下应用程序:didFinishLaunchingWithOptions:被调用?

时间:2013-04-18 06:06:47

标签: ios background voip

我的应用是针对Voip的,它可以在后台运行。当它在后台运行很长时间时,`application:didFinishLaunchingWithOptions:'方法被调用,然后我的应用程序停止运行。我想知道:在后台运行一个voip应用程序,应用程序:didFinishLaunchingWithOptions方法被调用?如果调用此方法,我该怎么做才能使我的应用程序继续运行?任何人都可以帮忙吗?谢谢......

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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