应用程序终止后运行代码......可能吗? (Xcode 8,Swift 3)

时间:2016-10-11 01:40:34

标签: ios swift xcode background

我只是想知道是否可以在应用程序终止后运行一些代码。我希望应用程序每隔几秒检查一次远程数据库上的数据,如果有任何变化,应该通知用户(使用本地通知,我猜?)。当应用程序运行时,我可以使用NSTimer的间隔方法轻松地执行此操作,但我想知道如果应用程序终止会有什么替代方案。如果我谷歌周围,几乎看起来似乎没有这样做的方式,但这似乎有点奇怪,不太可能我,因为那里有大量的应用程序(例如,任何社交网络应用程序)可以通知你即使应用程序完全关闭,您的帐户也会发生变化/更改。如果他们想在我的设备上通知我,我很确定这些应用程序最终必须运行一些代码,对吗?他们是怎么做到的?

1 个答案:

答案 0 :(得分:1)

因此,在弄清楚每个人自己对“在后台运行”和“终止应用程序”的定义之后,我猜这个问题最简单但又简单的答案是:不,你不能!触发在客户端编写的一些代码(在我的情况下在Xcode中)的唯一方法是让客户端通知远程服务器上发生了某些事件,在iOS中必须通过发送通知来实现APNS,客户必须以适当的方式“响应”通知。但是,我问的问题是,你是否可以在Xcode中编写一些代码,即使在用户终止应用程序之后也会继续运行(双击主页按钮通过向上滑动屏幕截图来杀死你的应用程序):没有!没有远程服务器参与该过程,没有办法做到这一点。