我想从后台抓取的url获取数据。我的func尝试获取数据,如果有新数据,它会发送本地通知。在我将应用程序最小化的10到20分钟后,后台抓取工作。但是,当我杀了应用程序(双击主页按钮,关闭应用程序),它不起作用。我等了大约1小时,但没有奏效。我在android中使用后台服务,它正在成功。有什么方法可以从应用程序关闭时从url获取数据并发送本地通知?我正在使用Xcode 6和Swift 1.2杀死应用程序后台抓取工作不正常
回答
在用户在多任务UI中杀死它后,背景获取不会发生在您的应用中。这是设计。
看看Apple's documentation是提到:
应用程序支持后台执行可以由系统 来处理传入事件重新启动。如果一个应用程序被终止以任何理由 比强制用户退出等它,系统将启动该应用程序...
和
在大多数情况下,系统不后,他们重新启动应用程序强制 由用户退出。一个例外是位置应用程序,它在iOS 8和 之后在被用户强制退出后重新启动。但是,在其他 的情况下,用户必须明确启动应用程序或重新启动设备,然后系统才能将应用程序自动启动到 后台。
正如您在文档中注意到的那样,只有一个例外,如果应用程序被强制杀死,则会重新启动:使用位置服务。不幸的是,这并不适用于你。
此外,您无法检测到应用程序是否被用户强制杀死。检查这个StackOverflow answer。
是否有任何可能性在应用终止后在ios 10 swift 3.0中执行代码? –
@PatelJigar编号iOS 10以这种方式表现与iOS 9和8相同。再一次,这是设计。 – Alex
ohk谢谢@alex –
- 1. 后台抓取工作不正常
- 2. iphone杀死后台应用程序
- 3. 应用程序在后台工作时无法正常工作
- 4. Swift UIApplication.shared.open从后台应用程序不能正常工作
- 5. 杀死后台进程
- 6. iOS杀死了一分钟内在后台工作的CallKit VoIP应用程序
- 7. 杀死应用程序并启动后,它在后台运行
- 8. Android杀死后台进程并关闭应用程序
- 9. 应用程序杀死Android后恢复
- 10. iOS可以在后台中杀死一个应用程序吗?
- 11. Android 2.3X将应用程序杀死后台
- 12. 杀死在后台运行的应用程序android
- 13. 杀死应用程序
- 14. 应用程序不在后台工作
- 15. 后台应用程序不工作
- 16. ios app在杀死后在ios9.3中启动后台后台。但能正常工作在IOS 10
- 17. 如何正确杀死Android活动,这不是后台进程
- 18. C# - 杀死进程无法正常工作
- 19. .destroy()不工作查杀应用程序
- 20. 二郎:杀死在后台
- 21. Android:杀死后台活动
- 22. 如何杀死/停止后台线程?
- 23. 如何杀死pm2 - 无后台进程
- 24. 进程不工作的杀死方法
- 25. Chrome扩展程序后台脚本不能正常工作
- 26. iOS在一段时间后将在后台杀死应用程序
- 27. 即使在杀死应用程序后,android仍在运行后台服务
- 28. 杀死一个Word.Basic应用程序,而不会杀死Word.Application主进程
- 29. SharedPreferences在杀死应用程序后不见了
- 30. 在前台工作正常的进程在后台无法正常工作
希望这可以帮助你http://www.raywenderlich.com/92428/background-modes-ios-swift-tutorial –
我认为实现这一目标的唯一方法是使用[PushKit](https: //developer.apple.com/library/prerelease/ios/documentation/NetworkingInternet/Reference/PushKit_Framework/index.html),有一个关于它的问题[这里](http://stackoverflow.com/questions/19068762/will -ios推出-MY-APP-到最底,如果-IT-是,强制退出由这用户)。 – Wez
使用推送通知重新启动已终止的应用程序。 –