"Yo" ios 应用程序如何知道用户何时禁用推送通知?

How does "Yo" ios app know when the user disables push notifications?

我正在开发一个需要推送通知的应用程序。我想检测用户何时启用它,何时不启用它。

当我从 iPhone 设置中禁用推送通知时,著名的 "Yo" 应用程序会立即检测到它!

他们是怎么做到的?

大概有以下方法:

UIApplication *application = [UIApplication sharedApplication];
BOOL enabled = application.isRegisteredForRemoteNotifications;

您可以根据需要经常调用它,甚至可以在计时器上调用它,并且对更改的键值观察可能会起作用,尽管我还没有测试它。