iPhone应用程序可以在启动时启动吗?

时间:2012-02-15 20:28:35

标签: iphone ios

我现在已经回答了two个不同的questions,这两个问题都解释了VOIP应用 如何在启动时启动,但人们似乎认为他们这样做了。 / p>

我不是百分之百地确定自己,有人将我与part of the apple docs联系起来,这并没有真正提及应用程序的自动启动。

我原本是先前的知识和this answer,但在另一个人说他们这样做之后,我真的不确定。

据我所知,应用只对推送通知作出反应,并且在设备开启时无法启动到后台。

我们可以澄清是否可以自动启动应用程序?

6 个答案:

答案 0 :(得分:29)

查看this document中的UIBackgroundModes部分 - 它似乎表明添加voip密钥在启动时自动启动应用程序。

修改sample app似乎确认了此行为。

答案 1 :(得分:5)

我确认设置VOIP模式有效。但是,我发现应用程序在启动后不会重新启动,除非它在设备断电时运行。此外,应用程序实际上不会在最近通电的设备上重新启动,直到设备在加电后解锁。

答案 2 :(得分:3)

好的,我不知道这是否归类为答案,但我觉得有义务说。我正在开发一个既能跟踪重要位置变化又能提供VoIP功能的应用程序。该应用在必需的背景模式中有voip键。我尝试了一些我想分享结果的案例:

  • 应用程序处于调试模式 - 在应用程序运行时关闭(活动或后台) - iOS 7.1.1(11D201)和iPhone 4(产品名称:iPhone3,2):

启动时,应用程序在后台运行,以及之前运行的其他应用程序。我不认为这与 VoIP 有任何关系。

  • 应用程序处于调试模式 - 应用程序终止时关闭 - iOS 7.1.1(11D201)和iPhone 4(产品名称:iPhone3,2):

启动时,应用程序未运行,配置实用程序中没有日志,服务器表示用户未注册我无法从其他设备调用它;但是其他与voip或位置跟踪无关但在关闭前打开的应用程序至少会加载到内存中。意思是,voip键不起作用。

我继续使用相同的应用进行测试,但这次是从应用商店下载的。结果是一样的。将设备和操作系统更改为iPhone 3G(产品名称:iPhone2,1)和iOS 6.1.6(10B500)。在调试和发布模式下都没有改变。

我告诉我的老板,Apple提供了这种行为,可以做到。然后我有了第二个想法并尝试过,现在我拼命想要找到另一种方式。打算向Apple致以问候。

答案 3 :(得分:2)

如果没有用户互动,您无法启动应用程序。用户必须在自定义链接上单击推送通知上的应用程序图标。可能还有其他我不知道的方法,但即使它们存在,也需要用户互动来有意启动应用程序。

修改

事实证明,正如Tim所说,VOIP应用程序可能有例外。

答案 4 :(得分:0)

重要的位置更改或区域监控也会导致应用程序在启动时启动,只要它打开并保持打开状态即可。不需要UIBackgroundModes键。

答案 5 :(得分:0)

我一直在开发VoIP应用程序,我可以确认,当iPhone重新启动时,只要用户在重启之前没有杀死它,VoIP应用程序就会自动启动。当仅运行iOS自动启动voip应用application:didFinishLaunchingWithOptions:时,即applicationDidBecomeActive:将无法运行。

我曾经怀疑iOS是否会在崩溃时自动重启voip应用程序。经过调查我发现iOS确实会自动重启voip应用程序,但如果它不断崩溃,iOS会在最终放弃之前尝试servals时间。

如果您从xcode检查iPhone控制台输出,您可以在第一次崩溃后看到这些日志

.. 
Service exited due to signal: Abort trap: xxx
Unable to get short BSD proc info for xxxx: No such process 
Application 'UIKitApplication:xxxxx]' crashed. 
...