应用程序进入后台时如何进行继续套接字通信(iOS7)?

时间:2014-01-08 08:45:32

标签: ios iphone ios7 xcode5

我进行套接字通信(iOS7)。它工作正常,但是当我的应用程序进入后台时它会停止。

任何人都可以建议,如何继续套接字通信? 要么 提出任何其他方法来实现它。

谢谢,

2 个答案:

答案 0 :(得分:1)

当应用程序进入后台时,iOS确保必须断开套接字连接。但是你可能正在后台执行某个任务。在应用程序委托中使用beginbackgroundtaskexpirationhandler并创建后台任务的实例。对于iOS 7及以上版本u将在3分钟后得到一个回调,你必须结束所有剩余的任务。确保你通过UIApplication实例调用endbackgroundtask,否则应用程序将被强制终止。套接字连接在此持续时间后断开连接。如果你需要保持你的套接字连接你必须在plist文件中添加requirwement以支持不同的backgroundmodes,其中apple支持七种不同的支持

答案 1 :(得分:0)

你有没有检查过:

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    // put stuff(code) to make continue socket communication
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

更多信息:请查看这些LINK1&& LINK2&& LINK3