ios – Multipeer连接在后台断开连接

ios – Multipeer连接在后台断开连接,第1张

概述所以,我理想的情况是我希望我的MCNearbyServiceAdvertiser和MCNearbyServiceBrowser在后台工作.但我明白,当应用程序重新启动时,这些需要被杀死,并且当我回到前台时恢复工作. 但是,令我烦恼的是,当我将两个对等体连接到一个会话,并开始在它们之间聊天时,它突然断开连接.含义..我的MCSession对象在进入后台时断开连接.我还被告知带有certificate 所以,我理想的情况是我希望我的MCNearbyServiceAdvertiser和MCNearbyServicebrowser在后台工作.但我明白,当应用程序重新启动时,这些需要被杀死,并且当我回到前台时恢复工作.

但是,令我烦恼的是,当我将两个对等体连接到一个会话,并开始在它们之间聊天时,它突然断开连接.含义..我的MCSession对象在进入后台时断开连接.我还被告知带有certificateHandler(YES)的Apple BUG,我现在明确地调用它.

我想准确地说明FIRECHAT是如何做到的.任何人都可以给我一些指示,说明为什么它会一直失败,或者你们如何设法让它保持活跃状态​​?

谢谢,

解决方法 为了让您的同伴保持联系,您需要在应用程序进入后台时启动后台任务,否则iOS将拆除网络连接并暂停应用程序.
- (voID)applicationDIDEnterBackground:(UIApplication *)application {    //Start a background task to keep the app running in the background    self.bgTask = [application beginBackgroundTaskWithExpirationHandler:^{       //If your background task takes too long,this block of code will execute        [self cleanUp];        self.bgTask = uibackgroundtaskInvalID;    }];   //Do the work you need to do   dispatch_async(dispatch_get_main_queue(),^{      //Finish up the transfer of data between peers      [self cleanUp];      //End the background task so that iOS doesn't kill the app      [application endBackgroundTask:_bgTask];    });}- (voID)applicationWillEnterForeground:(UIApplication *)application {    [application endBackgroundTask:_bgTask];}- (voID)cleanUp {    //Clean up the Multipeer session}

请注意,这仅适用于应用程序位于前台时已建立的现有连接.输入背景时,您仍然必须停止浏览和广告.

总结

以上是内存溢出为你收集整理的ios – Multipeer连接在后台断开连接全部内容,希望文章能够帮你解决ios – Multipeer连接在后台断开连接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1114127.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存