【发布时间】:2013-12-13 03:14:39
【问题描述】:
我想尊重我的用户的意图,如果他们为我的应用关闭了远程通知,我不会致电 [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)]。
致电UIRemoteNotificationType enabledTypes = [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 时,我会收到有关为我的应用启用了哪些类型的通知的信息。但是,可以关闭此应用的通知中心,在我选择“无”之前,我仍然可以从该方法中获得之前启用的通知类型。
因此,我的应用认为通知已启用,即使它们未启用。
有没有办法以编程方式找出我的应用的通知中心状态? (开/关)。
【问题讨论】:
-
如果通知关闭并且您注册了,您会收到
-application:didRegisterForRemoteNotificationsWithDeviceToken:还是-application:didFailToRegisterForRemoteNotificationsWithError:?如果调用后者,我不会感到惊讶。 -
对我来说只有第一种方法在通知中心设置打开或关闭时执行。但问题是如何判断该方法的设置。
-
调用
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(...)]不会做任何事情,如果你的应用程序的通知在设置中关闭,用户可以看到,为什么你不想每次都调用它? -
并不是我不想每次都调用它 - 我愿意 - 但我宁愿在发现用户打开通知后立即调用我的服务器并从通知中取消注册设备居中。
-
看起来苹果引入了通知中心的开/关开关,但忘记给我们一个 API 来查询它......非常沮丧。
标签: ios iphone apple-push-notifications