Error: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串"

之前项目中集成有环信,后增加了极光推送,突然发现获取deviceToken失败报错

Error in registration. Error: Error Domain=NSCocoaErrorDomain Code=3000 "未找到应用程序的“aps-environment”的权利字符串" UserInfo=0x118e60 {NSLocalizedDescription=未找到应用程序的“aps-environment”的权利字符串}

 网上大家给出的方法以下几种

1、请检查你的pushconfig里的appkey与应用详情中是否一致
2、bundleid有3处需要检查是否一致:a、你的应用详情中的bundleid;b、你的info.plist中的bundleid;c、你的profile文件中的appid对应的bundleid
3、还有xcode-buildsetting-codesigning里的provisions profile后面是否是你创建的相应的profile文件名
4、看一下手机的通知中心是否不允许接收通知
5、代码中是不是多处获取devicetoken(比如说使用环信),一处获取devicetoken就可以了

6、先生成了profile,然后才将App ID的push enable。

然后检查发现xcode-buildsetting-codesigning里的provisions profile这里路径为空,直接拉取项目中.entitlements路径进去不生效,

于是直接删除项目中.entitlements文件(说下这个entitlements是干什么用的:Entitlements 为你的App授予特定的能力以及一些安全方面的权限 ,例如iCloud, push notifications, Apple Pay, and App Sandbox)

重新打开push开关,又生成一份.entitlements文件即可,

总结:1.检查targets -> build setting ->signing ->code signing entitlements

  2.删除项目中xxxxx.entitlements文件

3.打开target -> capablities ->打开相应功能,会重新生成xxxxx.entitlements, 运行即可

 

 

 

 

 

 

 

 

你可能感兴趣的:(APP开发)