【发布时间】:2016-06-26 20:58:02
【问题描述】:
什么是 iOS Swift 2 替代 Android AlarmManager。
到目前为止,我发现关闭的东西是 NSTimer。但这仅在您的应用程序启动时才有效,一旦进入后台它将无法工作,我需要在后台运行一些功能并从我的业务逻辑中决定我是否想做某事......例如,如果满足某些条件以显示本地通知。
编辑
对于那些有同样问题的人来说,简单的答案在 iOS 上是没有的。
唯一的解决方法是使用远程推送通知(静默通知)来唤醒应用程序,然后您可以从那里实现您的业务逻辑。
*重要提示
从我在几个地方发现的情况来看,人们抱怨使用静默通知来执行此操作,因为您的应用程序可能会在应用商店被拒绝。
如果有人在应用商店中为他的应用使用这种方法,请分享您的经验。
【问题讨论】:
-
你需要运行什么函数?它是计时器、if 语句还是位置?查询?
-
iOS 应用有no real 后台服务。请重新考虑您的逻辑,以便您不需要在后台执行此操作。
-
您使用的标签不适用于这个问题。请查看What are tags, and how should I use them?
-
@SmokeDispenser,我无法重新思考我的逻辑,因为这是我在应用程序中需要的。
-
正如@SmokeDispenser 所述,iOS 不允许让您像 Android 一样在后台运行活动进程。您将需要找到不同的方法。