用AdHoc来测试iOS线上推送

2019-12-11  本文已影响0人  大成小栈

1. 关于iOS 推送证书

iOS推送分为开发环境和生产环境,在推送证书的type上分别对应 APNs Development iOS 和 Apple Push Service。在开发者账号中创建AppId之后“Edit your App ID Configuration”的时候,如果勾选了Push Notifications,那么就可以在这个选项下直接配置测试、生产推送证书。

勾选AppId的推送权限 进入创建证书界面 选择钥匙串中生成的certSigningRequest文件 生成证书并下载

推送证书是给App服务端使用的,业务服务端拿着这个推送证书和推送消息与苹果的APNs交互,完成业务上消息的推送。从上面的过程可以看出,创建推送证书主要需要AppId + CSR文件。

2. 关于iOS APP打包证书

创建“Software”类证书 创建“Service”类证书

从创建证书界面可见,创建的证书包括两类:为APP开发时,编译打包使用的证书,也分开发、生产证书;为APP提供服务的一类证书,比如推送证书,即推送证书也可以在这创建。

注:其中有一个选项是 iOS Distribution (App Store and Ad Hoc),注意理解。

创建一个开发证书:


选择iOS APP Development创建证书 选择CSR文件 生成证书并下载

从上面的过程可以看出,创建一个用于编译打包的证书,只需要上传一个CSR文件,无需指定其他信息。

3. 关于Profiles

在APP开发过程中,开发和发布都需要创建对应的Provisioning Profile,这个描述文件也有不同的类型:

选择创建Profiles的类型 选择即将创建的这个Provisioning Profile对应的AppId 选择即将创建的这个Provisioning Profile对应的APP打包 选择可以安装这个APP的设备 给这个描述文件起名字 生成并下载

从上面的步骤中可以看出,创建一个AdHoc 的 Provisioning Profile 需要的信息有:AppId、相应的打包证书(Distribution型)、选择可安装该APP的设备。所以,是描述文件将AppID、证书、APP、设备联系到了一起,而推送证书和打包证书没什么直接关系。具体的描述文件、证书、App的安装过程请参考文章:iOS 开发中的各种证书与iOS签名原理iOS 签名机制

4. 编译打包时的证书的选择

如果想在发布APP前,再做最后线上环境推送流程测试,用正式发布是的生产证书和描述文件打包时,是不能直接装到iOS设备上的。想测试线上环境推送只能选用AdHoc的方式,如果直接用Xcode运行装载到设备上,那就在工程配置中选择AdHoc的描述文件,真机编译运行(不会顺利运行至应用界面,等到应用自然崩溃),装载完成即可进行推送测试。

如果选择代理网站分发,需要打出ipa包,则在Xcode中打包时选择Product -> Archive -> distribute,会有以下界面:


image.png image.png image.png

将ipa包装至真机,即可进行测试。

简要对比
上一篇下一篇

猜你喜欢

热点阅读