我正在开发一个使用推送通知的iOS应用程序。 我能够显示提醒,让用户接受或不推送通知,也捕获这些事件。我的目标是将pushstoken存储到其他用途的设置中。iOS - 当用户激活设置的推送通知时获取推送令牌
问题是,我面临的是当用户更改设置菜单中的推送通知配置。
如果用户第一次接受通知,我可以成功地存储令牌,但是如果用户拒绝并且在其他任何时刻后来打开设置中的通知,我将无法捕获该令牌。我知道didRegisterForRemoteNotificationsWithDeviceToken仅在用户第一次接受并且它以设备令牌作为参数来调用时才会调用,因此据我所知当时唯一的方法是捕获设备令牌。
问题是我需要检查用户是否启用了这些通知,所以我已经成功实现了一个方法,该方法在调用applicationDidBecomeActive时触发。它会检查设置菜单中的通知是否已被修改(启用/禁用)。
我的问题是:如果第一次从设置菜单中启用推送令牌,是否可以捕获推送令牌?如果没有,你能给我一些建议吗?
谢谢你的时间。
呀。我明白你的意思。 问题是,只有在用户允许推送通知后才执行didRegisterForRemoteNotificationsWithDeviceToken(并且正如你所说的那样,我可以将标记保存在NSUserDefaults中)。我的问题是,如果用户不允许推送通知(didRegisterForRemoteNotificationsWithDeviceToken没有被调用,并且在didFailToRegisterForRemoteNotificationsWithError没有标记作为参数传递),但是后者允许设置菜单中的通知,obist令牌。 – dabasa
@dabasa你找到了解决办法吗? – Chris