2

第一次运行我的应用程序时,系统会询问我是否要允许推送通知,所以我选择了是。现在,当我转到设置并关闭我的应用程序的所有通知时,我仍然会从- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;. 作为开发人员,我是否有责任跟踪我的应用是否启用了任何功能?或者这是一个错误?

4

1 回答 1

3

设备令牌通常存储在某处的服务器上。如果用户突然决定他们想要推送通知并将其重新打开,则他们的设备令牌已经生成并存储在您的服务器上。

如果未生成设备令牌,则用户必须确保应用程序已终止然后重新启动才能生成设备令牌。

您可以使用以下代码确定用户是否关闭了推送通知

UIRemoteNotificationType remoteNotificationType = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (remoteNotificationType == UIRemoteNotificationTypeNone) {
    ... Do not send push
} 
于 2012-05-02T03:17:22.030 回答