【问题标题】:How do I receive the APNS token for iOS?如何接收 iOS 的 APNS 令牌?
【发布时间】:2020-07-09 02:29:02
【问题描述】:

我已经尝试在 iOS 13.4 上设置推送通知一周了,但一直没有成功。我只用最少的代码设置了一个空白应用程序,但它似乎仍然不起作用。我得到用户已授予权限的日志,但我没有收到 APNS 令牌,我没有收到错误,甚至没有调用方法。我可能做错了什么?

我已将应用 ID 设置为在证书和配置文件页面上推送通知。我还设置了推送通知、远程通知和后台获取的功能。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

      UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
          UNAuthorizationOptionSound | UNAuthorizationOptionBadge;

      [[UNUserNotificationCenter currentNotificationCenter]
          requestAuthorizationWithOptions:authOptions
          completionHandler:^(BOOL granted, NSError * _Nullable error) {
        if(granted){
          NSLog(@"PERMISSION GRANTED");
        }
        else{
          NSLog(@"PERMISSION GRANTED");
        }
        dispatch_async(dispatch_get_main_queue(), ^{
            [[UIApplication sharedApplication] registerForRemoteNotifications];
        });
      }];

    // Override point for customization after application launch.
    return YES;
}

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken {
  NSLog(@"DEVICE DID REGISTER:");
  NSLog(@"DEVICE TOKEN: %s", deviceToken);
}


- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error {
    NSLog(@"DEVICE DID FAIL TO REGISTER:");
}

【问题讨论】:

    标签: ios objective-c iphone push-notification apple-push-notifications


    【解决方案1】:

    首先在苹果开发者帐户中检查您创建的证书是否具有您的设备 UDID。如果您在模拟器上对其进行测试,也要注意这一点,否则它将无法正常工作。您只能在真实设备上查看通知。

    其次,当您的应用程序处于后台模式时,APNS 工作以在前台模式下获取通知,我们需要在应用程序中进行一些设置,否则需要使用第三方库。

    如果需要查看完整的场景,您可以查看下面的链接:- https://www.appcoda.com/push-notification-ios/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-20
      • 2016-09-24
      • 1970-01-01
      • 2021-12-21
      • 2014-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多