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

时间:2018-09-24 06:40:00

标签: ios swift synchronization background-process

我正在使用第三方库“ Reachability.swift”

https://github.com/ashleymills/Reachability.swift

此博客文章使用Notification Center识别网络事件,因此可以在前台动态识别网络事件的变化

https://blog.pusher.com/handling-internet-connection-reachability-swift/

我的要求:-

我需要运行一个使用 Alamofire (alamofire不需要的信息)的后台服务,以在Internet连接状态为活动时将本地保存的SQLite数据推送到服务器上

重要说明:- iOS应用程序不应在前台运行,所有事情都应在后台运行

请帮助我理解该主题,谢谢!

1 个答案:

答案 0 :(得分:3)

您应该充分阅读并了解Apple出色的后台执行文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation

只有少数几种应用程序类型可以在后台模式下永久运行:

  • 在后台播放用户可听内容的应用,例如音乐播放器应用
  • 在后台录制音频内容的应用
  • 始终让用户了解其位置的应用程序,例如导航应用程序
  • 支持互联网协议语音(VoIP)的应用
  • 需要定期下载和处理新内容的应用
  • 从外部附件中定期接收更新的应用

这些类型的应用必须请求特定权限才能在后台运行。为您的应用声明错误的类型可能会导致Apple拒绝应用。