我正在尝试在本地安排通知,因为我在后端还没有必要的结构。这个想法是在经过一段时间后,某些条件得到验证;如果满足,则触发常规本地通知。
例如,使用计时器可以很容易地实现这一点,但是这段时间中的一些时间足够长(1小时24小时),这不起作用。
这就是我最终在本地通知中思考的方式。我可以安排一个+ 24小时的火药。问题是,为了验证条件,我需要保持沉默。
从configuring a local notification
部分here看来,只有远程通知才能保持沉默,但实际上并没有说它无法完成。
另外,我发现除了badgeNumber之外什么都可以触发本地通知,它会改变徽章。虽然我的AppDelegate中的回调从未被调用过。
我看到有些人说不能这样做,但没有找到真正的官方证据。有人设法做到了吗?或者确切地知道这实际上是不可能的?任何建议都会有很大帮助,非常感谢!
答案 0 :(得分:3)
我尝试过并拥有与您相同的体验 - 当我的应用程序不在前台时,从不调用回调。这是设计的。 Apple文档指出只有当您的应用位于前台时才会调用回调<p:inputmask>
https://developer.apple.com/reference/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc
当应用程序不在前台时接收通知的唯一回调方法是userNotificationCenter:willPresentNotification:withCompletionHandler:
但不幸的是它仅用于推送通知(无声或其他)。 https://developer.apple.com/reference/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter?language=objc