我正在开发一个 VoIP 应用程序。
当我的应用程序进入后台时,我的 VoIP 套接字运行良好,并且该应用程序可以接收来自其他用户的调用,但是当我手动终止我的应用程序时(从 iPhone 屏幕底部的多任务坞站),我的应用程序没有'不接听任何电话。
在 Apple 官方引用中,它表示 VoIP 应用程序将在应用程序退出或系统重新启动时在后台重新启动。我知道我必须在 didFinishLaunchingWithOptions 方法中重新连接我的 VoIP 服务器,并且我已经这样做了,但它似乎不起作用。我怀疑 didFinishLaunchingWithOptions 方法是否已经执行,因为我没有看到任何日志表明(我已经添加了 NSLog(@"did launch") 在第一didFinishLaunchingWithOptions 方法行,但我没有看到日志文本)。
谁能帮帮我?谢谢。
Best Answer-推荐答案 strong>
应用程序终止后将无法获取任何事件,要重新启动它,您必须再次单击应用程序图标,否则在推送通知的情况下,应用程序将通过选择通知消息重新启动。
你能分享你提到的苹果官方引用文件的链接吗?
如果您的应用程序在这种情况下处于后台,您可以获取事件。
这里的文档注释是这样的,
“由于 VoIP 应用程序需要保持运行才能接听来电,如果应用程序以非零退出代码退出,系统会自动重新启动该应用程序。(这种类型的退出可能在有内存压力,你的应用程序因此而终止。)但是,终止应用程序也会释放其所有套接字,包括用于维持 VoIP 服务连接的套接字。因此,当应用程序启动时,它总是需要创建它的套接字从头开始。”
当您手动终止应用程序时,退出代码将为零,因此应用程序不会收到任何事件,如果操作系统因其他问题终止应用程序,系统将自动重新启动应用程序。
关于ios - VoIP 应用程序在终止后不会重新启动,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/19582576/
|