2013-04-18 120 views
0

我的应用程序是用于Voip的,它可以在后台运行。当它在后台运行很长一段时间时,调用`application:didFinishLaunchingWithOptions:'方法,然后我的应用程序停止运行。我想知道:Whey一个voip应用程序在后台运行,应用程序didFinishLaunchingWithOptions方法被调用了吗?如果这个方法被调用,我应该怎么做才能让我的应用程序继续运行?任何机构可以帮助吗?谢谢...在什么情况下,该应用程序:didFinishLaunchingWithOptions:被调用?

+1

PLZ显示崩溃日志.. – 2013-04-18 06:10:52

+0

我很抱歉,没有崩溃日志,当应用程序:didFinishLaunchingWithOptions:方法中回忆说,其他UIApplicationDelegate方法不被调用,它是如此奇怪... – foogry 2013-04-18 08:19:29

+0

它是否看到没有崩溃日志的模拟器?它很难找出没有崩溃日志.. – 2013-04-18 08:27:39

回答

0

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

+0

这也许是原因,我会试一试,谢谢! – foogry 2013-04-18 08:48:27

0

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

看提示制定的VoIP应用程序:https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

相关问题