01-未找到应用程序的“aps-environment”的授权字符串"

原文地址:原文地址

注册远程通知获取设备令牌Token

//注册远程通知获取设备令牌Token
[[UIApplicationsharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |
UIRemoteNotificationTypeSound | 
UIRemoteNotificationTypeAlert)]; 

莫名奇妙的总是会走这个错误的委托,远程通知注册失败委托

-(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error
{
   NSLog(@"%@",error);
}
错误信息

然后输出的error就是error : Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x1187ad0 {NSLocalizedDescription=未找到\345\272\224用程序的“aps-environment”的权利字符串

寻找解决办法

这时候急了,各种百度,谷歌,找出来一大堆解决方法,什么appid不一致呀,什么证书生成顺序不一致呀,什么xcode的code signing没有配置呀,这些方法我都试了个遍……结果还是没有成功。这里主要说一种网上从未出现过得错误……………………

至于上面那些常见的错误大家可以百度搜到一大推,而且都是大同小异,由于过于繁长,这里不做累述。本文主要适用于那些试过各种解决方案仍不生效的开发者们最后的希望……

发现问题 : bundle id 的问题

当一切的证书全部到位,appid一致,先生成push证书再生成project证书,然后xcde的code sign也配置好还是没有生效的时候,这个时候就应该检查一下你的应用的bundle identifier了


01-未找到应用程序的“aps-environment”的授权字符串

看到没有,后面那个灰色是修改不了的,这是因为你的应用在创建的时候设置了product name部分,所以如果你的appid只与前面部分是一致是不行了,必须要这整个的bundle identifier与你的证书appid一致,那如何删掉这后面灰色的不可编辑的部分呢?只需要点击summary旁边的info就可以了。


01-未找到应用程序的“aps-environment”的授权字符串

在这里修改bundle identifier去掉后面那个动态参数就行。

ok,这时候你的项目完整的bundle identifier就与证书的aphid一致咯。跑起来 就可以看到这个token啦~

你可能感兴趣的:(01-未找到应用程序的“aps-environment”的授权字符串")