1、证书问题: 1.证书未正确生成,要先确保App IDs的推送使能Push Notifications是Enabled; 2.生成开发环境APNs Development iOS或生产环境APNs Production iOS的推送证书,正确制作.p12文件; 3.要确保Provisioning Profiles是设置过App IDs和生成推送证书后更新过的,下载最新的Profiles文件。
2、项目问题: 1.工程-TARGETS-general->Bundle identifier要和证书上的一致; 2.工程-TARGETS-general-> team要选中app所用的证书; 3.注册DeviceToken时要将代码放在AppDelegate.m文件didFinishLaunchingWithOptions内; 4.要区分iOS8前和iOS8之后的注册方法; 5.监听注册结果(成功/失败)。(如图)
3、Xcode7问题: Xcode7使用推送,可能要打开手动设置一下,也可能不用设置,这个状况比较特殊。工程-TARGETS-Capabilities,里面列举多个Apple服务功能项,找到Push Notifications设置开启:ON。这里也是需要证书的,选择的时候要注意要喝项目的一致。(操作如图)
4、还不行的话,那就尝试: 步骤1:删除本地证书,清空废纸篓; 步骤2:项目 Product -clean一下,再完全关闭Xcode, 步骤3:删除苹果开发者中心上的Certificates, Identifiers & Profiles证书,重新创建; 步骤4:下载新的证书,双击打开导入Xcode。