簡體   English   中英

如何接收適用於 iOS 的 APNS 令牌?

[英]How do I receive the APNS token for iOS?

一周以來,我一直在嘗試在 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:");
}

首先在蘋果開發者帳戶中檢查您創建的證書是否具有您的設備 UDID。 如果您在模擬器上測試它,請注意這一點,否則它將無法正常工作。 您只能在真實設備上查看通知。

其次,當您的應用程序處於后台模式以在前台模式下獲取通知時,APNS 起作用,我們需要在應用程序中進行一些設置,否則需要使用第三方庫。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM