首先是从这篇文章开巧的. http://blog.csdn.net/joosonmao/article/details/21172835, 然后自己实践过程中又摸索了一下, 记录一下几个容易混淆的概念
1, csr这东西, 其实是个private key, 是跟创建csr的mac机子对应的, 即:创建csr的mac有privatekey, 有这个private key才可以打包签名, 若要让别的mac可以签名, 则需要export这个private key, 导出的private key就是.p12文件. 注意的是同一个mac上生成的不同的csr, 其实是不同的private key
2, ad hoc: 是$99的企业账号就可以装的. 打包出一个ipa, 可以供下载, 但是最多100个手机, 且每个安装的手机的uuid都需要在开发者中心注册过. 下边讲的不加说明都是针对$99账号的
3,certificate的几种: ios developer上面的certificates总的来说有两类. 即apns的证书和ios的证书.(这个问题当时绕了很久)
1),apns的证书说白了跟app的开发打包都没有关系,是给服务器用的. 分为development和production两种, 每个appid要对应一对apns的certificates
2),另一类就是ios的开发用的证书,常用的为ios development和ios distribution两种, development的一个开发者账号有1个?2个?(有时候会出现2个原因不明). distribution也是会出现1个?2个?. 而且这两种证书, 都跟app的bundle id没有关系的, 是跟开发者账号一一对应的. ios distribution证书可以用于ad hoc和appstore.
4,provisioning profile: 里边装有certificate, app id, devices id 这几样东西, 使用了这个profisioning profile就可以进行调试打包了等.
provisioning profile创建可以选3种:
1),ios developer, 需要指定developer证书, app_id, devices
2),app store和ad hoc, 需要指定developer证书, app_id, devices(appstore的不需要指定devices)
5,重要技巧:
这么多东西混在一起, 非常容易乱, 一个东西对不上就会造成整个系统无法工作. 避免乱掉的最重要方法就是起好文件名.
1), csr文件命名: csr_创建日期_开发者账号名_所用mac电脑描述. 如"csr_0210_jiemiquan_mac13xiaojiang"
2), certificate命名: 证书类型_开发or发布_csr描述_开发者账号描述_(app描述如果是aps的证书是需要的). 如"aps_development_csr0210_jiemiquan_michat.cer"
3), provisioning profile命名: 应用描述_用途_几个证书_几个设备. 如:"michat_adhoc_1c_34d.mobileprovision"
6,20150210搞出来的效果是这样的