iOS Development--Certificates, Provisioning Profiles 叁歲伎倆 2022-07-31 16:20 183阅读 0赞 iOS App开发过程的真机调试和开发完成的发布要用合法的 Signing Identity 进行签名,并且要制作相应的Provising Profile。 ![LaunchApp.png][] 开发过程的真机调试需要: Private Key -- 私钥 iPhone Development Certificate -- 开发证书 Development Provisioning profile 发布到 App Store 需要: 私钥 iPhone Distribution Certificate App Store Distribution Provisioning profile 通过 Ad Hoc 发布需要: 私钥 iPhone Distribution Certificate Ad Hoc Distribution Provisioning profile ### Private Key, Certificate, Provisioning Profile 的作用 ### Private Key —私钥, 在iOS App 开发过程中,Xcode用它来签署应用。 Certificate —证书,它包含公钥,用来认证已签名的程序,通过认证来确定应用的来源是可信任的,并且代码是完整的, 未经修改的。 ![Certificate.png][] Provisioning Profile —供应配置文件,它包含证书, App ID, 设备信息,它决定Xcode用哪个证书/私钥组合来签署程序, 开发设备也通过它来决定如何认证安装在设备上的程序。 ![ProvisioningProfile.png][] ### Private Key, Certificate, Provisioning Profile 的制作过程 ### 使用KeyChain申请 Certificate Signing Request (CSR),这个过程就能生成代码签名的公、私钥对,私钥会保存在KeyChain中,公钥则包含在Certificate中。 Certificate制作具体步骤: * Certificate Signing Request (CSR) KeyChain Access > Certificate Assitant > Request a Certificate From a Certificate Authority… Certificate Infomation User Email Address:xxx(you favarite address) Common Name:xxx(you name) CA Email:(Keep empty) Request is: save to disk 之后会弹出保存路径选择对话框,选择你想保存的目标路径。 * 制作Certificate developer.apple.com > Certificates, Identifiers & Profiles > Certificates > + > 选择需要的Certificate类型 > 上传之前创建的CSR > 得到Certificate * 安装Certificate 下载生成的Certificate > 保存好(如改个容易识别的名字,保存到安全的地方) > 双击它,安装到Key Chain. * 导出Private Key 从KeyChain中导出Private Key,团队其他成员可以省略制作Certificate的繁琐操作。 Provisioning Profile的制作要复杂些,它要包含App 相应的Certificate, App ID, Development Provision Profile 还会包含 Device 信息。 ### Tips ### 团队开发时,我们可以通过邮件等方式分发Private Key,这样只需要制作一次 Private Key, Certificate, Provisioning Profile。 Xcode3.2.3预发布版本加入了新功能Team Provisioning Profile,它包含一个Wildcard App ID(\*, 匹配所有应用程序),Team中所有的Development Certificates和所有开发设备信息,增加新设备后,Xcode会自动更新Team Provisioning Profile, 因此, 团队成员可以通过设置Xcode的Provisioning Profile为Team Provisioning Profile,从而可以在所有的开发设备上调试应用程序。 ![TeamProvisioningProfile.png][] 源引:http://damiansheldon.github.io/blog/ios-development-certificates.html/ [LaunchApp.png]: /images/20220801/cee0f20812374300808ed4cb39956f3b.png [Certificate.png]: /images/20220801/0abdff5f629846729d22d7f9c39510fa.png [ProvisioningProfile.png]: /images/20220801/5f7da1647625496a9d9bdc256ec6be15.png [TeamProvisioningProfile.png]: /images/20220801/0e605bf9ddf64cf795262ee868639ef6.png
还没有评论,来说两句吧...