菜鸟教程小白 发表于 2022-12-12 16:00:41

ios - VoIP 应用程序在终止后不会重新启动


                                            <p><p>我正在开发一个 VoIP 应用程序。</p>

<p>当我的应用程序进入后台时,我的 VoIP 套接字运行良好,并且该应用程序可以接收来自其他用户的调用,但是当我手动终止我的应用程序时(从 iPhone 屏幕底部的多任务坞站),我的应用程序没有'不接听任何电话。</p>

<p>在 Apple 官方引用中,它表示 VoIP 应用程序将在应用程序退出或系统重新启动时在后台重新启动。我知道我必须在 <code>didFinishLaunchingWithOptions</code> 方法中重新连接我的 VoIP 服务器,并且我已经这样做了,但它似乎不起作用。我怀疑 <code>didFinishLaunchingWithOptions</code> 方法是否已经执行,因为我没有看到任何日志表明(我已经添加了 <code>NSLog(@"did launch")</code> 在第一<code>didFinishLaunchingWithOptions</code> 方法行,但我没有看到日志文本)。</p>

<p>谁能帮帮我?谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>应用程序终止后将无法获取任何事件,要重新启动它,您必须再次单击应用程序图标,否则在推送通知的情况下,应用程序将通过选择通知消息重新启动。</p>

<p>你能分享你提到的苹果官方引用文件的链接吗?</p>

<p>如果您的应用程序在这种情况下处于后台,您可以获取事件。</p>

<p>这里的文档注释是这样的,</p>

<p>“由于 VoIP 应用程序需要保持运行才能接听来电,如果应用程序以<strong>非零退出代码</strong>退出,系统会自动重新启动该应用程序。(这种类型的退出可能在有内存压力,你的应用程序因此而终止。)但是,终止应用程序也会释放其所有套接字,包括用于维持 VoIP 服务连接的套接字。因此,当应用程序启动时,它总是需要创建它的套接字从头开始。”</p>

<p><strong>当您手动终止应用程序时,退出代码将为零</strong>,因此应用程序不会收到任何事件,如果操作系统因其他问题终止应用程序,系统将自动重新启动应用程序。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - VoIP 应用程序在终止后不会重新启动,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19582576/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19582576/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - VoIP 应用程序在终止后不会重新启动