2012-05-01 42 views
17

Skype update text包含未来:如何重新启动应用程序如果意外关机

应用程序自动重新启动,如果意外关闭

如何能够通过SDK来执行?

+0

你能为我们提供一个链接,Skype的告诉它可以自动重新启动本身? –

+2

@MaximMikheev当然,在这里:http://www.iclarified.com/entry/index.php?enid=21659 – Speakus

+1

甚至看这里:http://itunes.apple.com/us/app/skype/id304878510 ?mt = 8在部分:4.0版本中有什么新功能 – Speakus

回答

14

据我所知,某些应用程序可以在后台运行,并可以在特定情况下重新启动。这是来自苹果文档

https://developer.apple.com/library/ios/#documentation/CoreLocation/Reference/CLLocationManager_Class/CLLocationManager/CLLocationManager.html#//apple_ref/doc/uid/TP40007125

如果启动该服务,并且您的应用程序随后终止,如果一个新的事件到达时,系统会自动将重新启动应用程序进入后台。在这种情况下,选择字典传递到应用程序中:didFinishLaunchingWithOptions:您的应用程序委托的方法中包含的关键UIApplicationLaunchOptionsLocationKey,表明您的应用程序,因为定位事件的启动。

我的意见是:Skype重新启动远程通知机制。

更新

嗯,我想我发现了什么。 @Malek_Jundi是半对的。您的应用程序应失败非零退出代码,但它应该被注册为VoIP应用。

由于VoIP应用程序需要保持运行以接收传入呼叫,因此如果应用程序以非零退出代码退出,系统会自动重新启动应用程序。 (这可能发生在情况下,有内存压力,你的应用程序被终止结果。)但是,终止应用也释放所有的插座,包括用于维持VoIP服务连接的一个。因此,启动应用程序时,始终需要从头开始创建套接字。

http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html#//apple_ref/doc/uid/TP40007072-CH7-SW12

+0

但用户必须点击notificatino消息,以便它不再自动重新启动... –

+0

向用户提供警报不是唯一的选择,AFAIK。无论如何,只是我对这个话题的想法,我不知道Skype是如何处理这个问题的。 – anticyclope

+0

这听起来很有希望,尽管我还没有找到关于自动重启的任何文档。任何人都可以在应用程序被崩溃/非零返回值终止后确认重新启动成功吗? – KPK

1

据我知道它不可能重新启动您的应用程序..你可以使用exit(1);杀死你的应用程序,但这个不是由苹果允许的,将被拒绝。也许你做的请从mainViewController一些看法,然后重新添加并复位数据和内容..但做一个真正的重新启动,我不这么认为了一些解决方法。

1

与Skype的,但什么不知道 - 不幸的是,有没有办法重新启动应用程序。即使如此,也无法退出/退出应用程序。 (关于退出,请参阅this链接节“不要以编程方式退出”)

3

Skype的正是这一点:

  1. 寄存器它是TCP套接字的VoIP。
  2. 当非零退出代码时,应用程序将由iOS重新启动(因为VoIP应用程序需要保持运行才能接收来电,系统会在退出时使用非零退出代码自动重新启动应用程序。 )。
  3. 然后立即开始后台任务(重新启动的应用程序保持暂停状态)。
  4. 接下来它注册它的VoIP登录套接字。
  5. 它记录早在
+0

你能提供有关第3段的任何苹果文档吗? – Shamsiddin

相关问题