我正在尝试通过后台获取从url获取数据。我的func尝试获取数据,如果有新数据,它会发送本地通知。当我最小化应用程序时,后台提取工作大约10 - 20分钟后工作。但是,当我杀了应用程序(双击主页按钮并关闭应用程序)它不起作用。我等了大约1个小时但是没用。我在android中使用后台服务,它正在成功运行。有没有办法从网址获取数据并在应用关闭时发送本地通知?我正在使用Xcode 6和swift 1.2
答案 0 :(得分:23)
用户在多任务处理UI中将其杀死后,您的应用中不会发生后台提取。这是设计的。
看一下提到的Apple's documentation:
支持后台执行的应用程序可能会被系统重新启动 处理传入的事件。如果应用因任何原因被终止 除了用户强制退出之外,系统启动应用程序......
和
在大多数情况下,系统在强制使用后不会重新启动应用 退出用户。一个例外是位置应用程序,在iOS 8和iOS中 之后被用户强制退出后重新启动。其他 但是,用户必须明确启动应用程序或重新启动应用程序 应用程序之前的设备可以自动启动进入 系统背景。
正如您在文档中注意到的那样,只有当应用程序被强制杀死时才重新启动,只有一个例外:使用位置服务。不幸的是,这不适用于你。
此外,您无法检测该应用是否被用户强行杀死。请检查此StackOverflow answer。
答案 1 :(得分:4)
用户从后台杀死应用后,您的应用中的后台获取不会更新。这是不可能的