ios - iOS平台是否提供后台同步?

标签 ios

如果用户在离线状态下(例如飞行模式)在 iOS 应用程序中执行操作,即使用户完全关闭应用程序,应用程序能否在用户在线时完成该操作(通过向其服务器发送数据) em>在上网之前?

我问是因为 Twitter 和 Facebook 没有这个功能。 (如果我在离线状态下发帖,然后关闭应用程序并上线,直到我再次启动应用程序时才会提交帖子。)

最佳答案

没有。如果用户杀死了你的应用程序,它就消失了。它不能再执行您的任何应用程序代码。你能做的最好的就是研究background tasks然后你有大约 10 分钟的时间来执行你的操作,然后它会自动终止(如果用户没有在操作系统之前执行它)。

您可以将操作存储在数据库中(Core DataRealm)甚至在 NSUserDefaults 中。当应用程序上线时,您可以定期尝试解析这些操作并使用 exponential back-off 发送网络请求。 .我想这就是 Facebook 和 Twitter 使用的过程。

关于ios - iOS平台是否提供后台同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34531494/

相关文章:

ios - 为 GCD 操作设置超时

ios - 仅当高于特定 iOS 版本时如何有条件地包含代码?

iOS CoreData 从 CSV 解析无法保存错误 1570 nil object

iphone - 动态插入更多 UITextFields

ios - SwiftUI 列表标题和副标题

ios - 如何集成 Hero 框架?

ios - UICollectionViewDropDelegate 破坏了 UICollectionView 中的重新排序单元机制

ios - 带有类别的 nil 对象上的 setString

ios - UIcollectionview 的单元格项目隐藏或什至没有出列

ios - Segues 直接从 Storyboard xcode 中的 View Controller 警告启动