跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

iOS端获取不到Device token

若 iOS 设备无法获取 Device Token,请按以下步骤排查:

  1. 请使用真机测试:iOS 模拟器不支持获取 Device Token,请务必使用真实设备进行调试。

  2. 检查推送证书配置:确保推送证书已正确导入,并确认 Provisioning Profiles 已正确配置。

  3. 确认通知权限弹窗是否弹出:

    • 首次安装运行 App 时,系统应弹出通知权限授权提示。

    • 若未弹出,请确认是否已卸载重装(iOS 9 及以下系统,相同 Bundle ID 的 App 只会弹出一次提示)。

    • 若为首次安装仍未弹窗,请重新生成并检查证书配置。

  4. 查看注册失败错误信息:可通过实现以下回调获取错误信息:

    objc

    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
        NSLog(@"Failed to get token, error: %@", error);
    }
    
  5. 确认 Device Token 获取方式正确:

    • 在 didRegisterForRemoteNotificationsWithDeviceToken 回调中添加以下代码打印 Token:

    objc

    NSLog(@"%@", [[[deviceToken description] stringByReplacingOccurrencesOfString:@"<" withString:@""] 
                     stringByReplacingOccurrencesOfString:@">" withString:@""] 
                     stringByReplacingOccurrencesOfString:@" " withString:@""]);
    
    • 或在 didFinishLaunchingWithOptions 中开启 UMessage 日志查看:

    objc

    [UMessage setLogEnabled:YES];
    

通过以上方式,您可在控制台看到长度为 64 的 Device Token 字符串。