准备工作 —— 本地生成 CSR 文件
在本地生成 CSR 文件的步骤:Dock 上点击 Launchpad —— 其他 —— 钥匙串访问 ,打开钥匙串访问后,点击屏幕左上角的『钥匙串访问』,在下拉菜单中选择『证书助理』—— 从证书颁发机构请求证书,此时需要填写证书信息,电子邮件地址和常用名称都任意填写自己常用的就可以,选择『存储到磁盘』,点击继续,选择存储路径后点击『存储』。至此,CSR 文件就创建好了,一定要牢记此文件的存储位置,因为之后所有需要上传 CSR 文件的地方,都需要上传此文件。
① 创建 App ID
1、登录苹果官网 Member Center ,点击 Certificates,Identifiers & Profiles,再点击 iOS APP 下的 Certificates,选择左侧 App IDs 。
2、点击右上角 + 号,填写 APP ID Description 下的 Name。
3、选择 APP ID Suffix 下的 Explicit App ID ,并填写 Bundle ID (注:若此 APP 需要远程推送,只能选择 Explicit App ID 选项,不能选择 Wildcard App ID)。
4、勾选最下面倒数第二项 —— Push Notification 。
5、点击 Continue ,确认无误后,点击 Submit ,点击Done。至此,App ID 创建完成。
6、在页面选择刚刚创建的 App ID ,点击 Edit ,进入编辑状态,找到打钩的 Push Notifications 选项,在它下面的 Development SSL Certificate 中选择 Create Certificate ,点击 Continue ,选择刚刚创建的 CSR 文件上传 ,点击 Generate ,并下载生成的 Development SSL Certificate。此时应该可以看到 App ID 下的 Push Notifications 的 Development 项变成了绿色的 Enabled 。
② 创建开发证书
1、选择左侧 Certificates 下的 Development ,选择右上角 + 号。
2、选择 Development 下的 iOS App Development ,点击 Continue ,此时提示需要创建并上传 CSR 文件,先不用管,点击 Continue ,来到上传 CSR 的页面。
3、选择 Choose File ,找到之前创建的 CSR 文件,点击 Generate ,此时开发证书就创建好了,选择 Download 下载,存储到本地。
③ 创建开发所需 Provisioning Profiles
1、选择页面左侧 Provisioning Profiles 下的 Development ,点击右上角 + 号。
2、选择 Development 下的 iOS App Development ,点击 Continue 。
3、在 App ID 中选择步骤 ① 所创建的 App ID ,点击 Continue。
4、选择步骤 ② 中所创建的开发证书,点击 Continue。
5、选择要真机调试的设备,点击 Continue。
6、填写 Profile Name ,点击 Generate 。
7、此时开发所需的 PP 文件就创建好了,点击 Download 进行下载,并点击 Done。
④ 安装开发证书、开发所需 PP 文件,进行真机调试
1、双击第 ② 步创建的开发证书,它会自动安装,并显示在『钥匙串访问』中。
2、双击第 ③ 步创建的 PP 文件,它会自动安装。
3、在 Xcode 工程设置中填写 Bundle Identifier ,与 ① 中的第 3 步填写的Bundle Identifier 相同。
4、选择相对应的 Team。
5、在 Xcode 工程设置 Build Setting 中,找到 Code Signing 模块,在 Code Signing Identify - Debug - Any iOS SDK 这一行选择对应的开发证书(与 ② 中生成的一致);在 Provisioning Profile - Debug 这一行选择对应的 Provisioning Profile(与 ③ 中生成的一致)。
⑤ 此时,已经可以真机调试了,可推送功能怎么测试呢?
在工程 AppDelegate 中:
进行推送测试:
1、Github 上有一款优秀的开源工具 Pushmebaby,用来测试 iOS 远程推送功能,地址为 https://github.com/stefanhafeneger/PushMeBaby 。
2、打开 Pushmebaby 工程,更改测试机的 Token ,并把 ① 中的第 6 步下载的 Development SSL Certificate 导入到 Pushmebaby 工程中,注意文件名应与代码中相同。
3、此时运行 Pushmebaby ,点击 Push ,真机上应该就可以收到推送了。
如果不行,可能是我上面写的有错误,我会时不时来检查一下,不断修改。