在ios注册推送服务的过程中,出现如下错误:
Error Domain=NSCocoaErrorDomain Code=3000 “未找到应用程序的“aps-environment”的授权字符串” UserInfo=0x170e6fdc0 {NSLocalizedDescription=未找到应用程序的“aps-environment”的授权字符串}–
1. 证书问题
- 证书未正确生成,要先确保App IDs的推送使能Push Notifications是Enabled;
- 生成开发环境APNs Development iOS或生产环境APNs Production iOS的推送证书,正确制作.p12文件;
- 要确保Provisioning Profiles是设置过App IDs和生成推送证书后更新过的,下载最新的Profiles文件。
还有一种是出现钥匙串访问里面,出现多个类似证书,把无用的删除掉,即可。我的项目就是这个原因。

2. 项目问题
- 工程-TARGETS-General->Bundle Identifier要和证书上的一致;
- 工程-TARGETS-General-> Team要选中app所用的证书;

注册DeviceToken时要将代码放在AppDelegate.swift文件didFinishLaunchingWithOptions内;
要区分iOS8前和iOS8之后的注册方法;

- 监听注册结果(成功/失败)。

3.Xcode问题
- Xcode7使用推送,可能要打开手动设置一下。工程-TARGETS-Capabilities,里面列举多个Apple服务功能项,找到Push Notifications设置开启:ON。
- Xcode 6.4 是没有Push Notifications 这个选项的,因此可以不用管。
如果以上的方法都不能解决,可以尝试删除重新生成安装证书。
在iOS应用中注册推送服务时遇到'Error Domain=NSCocoaErrorDomain Code=3000'错误,问题可能涉及证书、项目设置和Xcode配置。解决办法包括检查App IDs的Push Notifications设置,生成并正确导入APNs证书,确保Provisioning Profiles更新,清理多余证书,保持Bundle Identifier与证书一致,选择正确的Team,正确注册DeviceToken,区分不同iOS版本的注册方法,以及在Xcode的Capabilities中开启Push Notifications功能。如果仍无法解决问题,考虑证书的重新生成和安装。
9617

被折叠的 条评论
为什么被折叠?



