今天做macOS推送的测试,发现没有在线测试推送,由于证书太多重复且重名的,推送测试一直失败,很是蛋疼。网上找了两种方式。
1.https://pushtry.com/
这个在线推送测试很简洁,可以快速的测试推送-token+p12证书
2.https://github.com/noodlewerk/NWPusher
github上的NWPusher,也是个不错的选择。运行起来之后,他可以直接检测到钥匙串里的证书。然后一个个测,哪个成功了也就知道对应哪个证书是正确的。
测试失败的原因:
1.证书错误
2.iOS13之后的干版本,token的获取方式发生了改变。
-(void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
if(![deviceTokenisKindOfClass:[NSDataclass]])return;
NSMutableString *deviceTokenString = [NSMutableString string];
constchar*bytes = deviceToken.bytes;
NSIntegeriCount = deviceToken.length;
for(NSIntegeri =0; i < iCount; i++) {
[deviceTokenString appendFormat:@"%02x", bytes[i]&0x000000FF];
}
NSLog(@"deviceTokenString:%@ token.length=%li",deviceTokenString,deviceTokenString.length);
}
3.当创建了macCatalyst版本的app,且使用automatically manage signing的方式产生的证书,使用的推送证书可能是一个总的证书,既可以生产也可以测试使用的总证书。