想必大家开发通知的时候都要遇到一个问题,如何在本地app还没上架appStore的情况下调试正式环境的消息推送,是的,我也遇到了同样的问题。
这段代码是为了拿到token方便调试, 延迟几秒弹出Alert并把Token粘贴到粘贴板!
// 用户点击允许通知权限后,会调用的代理
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// ...你自己的代码等
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
UIAlertAction *action = [UIAlertAction actionWithTitle:@"token" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
UIPasteboard *pasboard = [UIPasteboard generalPasteboard];
pasboard.string = devicePushToken;
// 或者加个HUD显示成功,看个人喜好
}];
UIAlertController *alertVC = [[UIAlertController alloc] init];
[alertVC addAction:action];
[[UIApplication sharedApplication].windows.firstObject.rootViewController presentViewController:alertVC animated:true completion:nil];
});
}
先打包,选中Ad Hoc包,别选错了
Pasted Graphic 1.png
完事后,把包里的ipa包,直接拖到Finder左侧栏的手机里安装
Pasted Graphic 4.png
拿到token复制后使用APNs调试工具就能调试了, 最后这是我用的APNs调试工具,推荐给大家,AppStore免费
WX20200925-170704@2x.png