当检测到Internet连接时,如何在iOS应用程序上运行后台任务?

当检测到Internet连接时,如何在iOS应用程序上运行后台任务?,ios,swift,synchronization,background-process,Ios,Swift,Synchronization,Background Process,我正在使用第三方库可达性.swift 根据这篇博文,使用Notification Center识别网络事件,因此可以在前台动态识别网络事件中的更改 我的要求:- 我需要运行一个后台服务,该服务使用alamofire不需要的alamofire信息,在internet连接状态处于活动状态时将本地保存的SQLite数据推送到服务器 重要提示:- iOS应用程序不应该在前台运行,一切都应该在后台发生 请帮我理解这个话题,提前谢谢 您应该充分阅读并理解苹果关于后台执行的优秀文档: 只有少数应用程序类型允许

我正在使用第三方库可达性.swift

根据这篇博文,使用Notification Center识别网络事件,因此可以在前台动态识别网络事件中的更改

我的要求:-

我需要运行一个后台服务,该服务使用alamofire不需要的alamofire信息,在internet连接状态处于活动状态时将本地保存的SQLite数据推送到服务器

重要提示:- iOS应用程序不应该在前台运行,一切都应该在后台发生


请帮我理解这个话题,提前谢谢

您应该充分阅读并理解苹果关于后台执行的优秀文档:

只有少数应用程序类型允许在后台模式下永久运行:

在后台向用户播放音频内容的应用程序,如音乐播放器应用程序 在后台录制音频内容的应用程序 随时通知用户其位置的应用程序,如导航应用程序 支持互联网语音协议VoIP的应用程序 需要定期下载和处理新内容的应用程序 从外部附件接收定期更新的应用程序
这些类型的应用程序必须请求特定权限才能在后台运行。为你的应用程序声明错误的类型可能会导致苹果公司拒绝应用程序。

请告诉我投反对票的原因,我可以改进我的问题。不要使用可达性,这是不可靠的。当快速切换连接或其他情况时,可达性状态几乎总是不正确的。该页面提供有关后台执行可能性的信息:查看后台URLSessionConfiguration。当连接可用时,您可以让系统自动启动下载