之前我在开发的时候,遇到证书问题,几乎都想哭(捂脸)!现在将自己知道的和查阅到的整理了一下下,以后应该可以少抓狂一点点!
有不足的地方,希望多多指出来哦~
一、iOS开发者帐号的分类:
二、iOS发布方式:
三、iOS证书:
四、不同版本的配置(先撇开企业证书):
五、证书申请流程:这个(http://www.cnblogs.com/sk-fengzi/p/5670087.html)写得蛮详细的,我就稍稍简化一下下:
iOS以及Mac OS X系统,在安装Xcode时将自动安装AppleWWDRCA.cer这个中间证书,它实际上就是iOS(开发)证书的证书,即根证书(Apple Root Certificate),AppleWWDRCA.cer之于iOS(开发)证书则好比户籍证之于身份证。
1.在keychainl里边申请CSR(Cerificate Signing Request)文件、私钥和公钥;
备注:
1)私钥存储在keychain里面,苹果通过CSR生成的证书文件则包含公钥信
息,对代码进行签名的时候需要:证书+私钥,缺一不可。
2)团队开发中需要公用证书,那么就需要两个文件:*.p12文件、
*.mobileprovision文件。*.p12文件是由秘钥导出的,*.mobileprovision文
件是项目的Provisioning Profiles文件
2.打开苹果开发者中心——Account——Certificate——Add
3.Identifiers——APPIDs——BundleID
4.Device——UUID
5.Provisioning Profiles——Add
6.完成配置后下载2、5所配置好的文件,双击运行
7.在xcode里面配置好相应的code signing identity 和Provisioning Profiles
六、Xcode配置Code signing identity和Provisioning Profiles常见问题:
1.手动配置有一个deprecated 的 Provisioning Profiles和Provisioning Profiles ,哪一 个起作用?是Provisioning Profiles,以下简称pp文件
2.发现Automatically manamge Signing在多账号的情况下会匹配不准确
3.其实Developer(cer)和Distribution(pp)也是可以组合打包的,而且可以上传到AppStore,但是应该审核会过
4.我现在没有Developer(cer)和Developer(pp) ,也可以真机调试。。。。好吧,因为自动匹配的问题
5.Team具体是什么意思?
6.associated-domains问题:
解决方法:打开苹果开发者中心——Identifiers——APPIDs——勾选associated-domains——重新生成Provisioning Profiles——Xcode替换Provisioning Profiles
七、常见问题解疑:
1.Apple ID账号欠费会不会导致之前已经上架的App被下架?
答:会
2.证书过期不会影响已发布的产品?未发布的产品会不会有影响?
答:证书过期后,已经上架appstore的app和已经安装在用户设备的app都可以正常使用。
3.证书过期导致推送会出问题,更新推送证书需要下架应用重新发布么?
答:证书可以重新生成,只要保证 developer.apple.com 中那个 APP ID 的推送证书和推送服务器上的一致就不需要下架应用。
4.证书过期,重新创建证书,可能导致之前上线的没办法覆盖安装,签名不一样就没法覆盖(估计是新建PP文件导致的) ?
答:证书过期,在mac电脑上面的证书就不能使用,导致开发者不能继续开发,因此需要重新生成证书。之后编辑旧的PP文件(只更新旧的PP文件中的证书信息),再给mac电脑安装cer文件和pp文件, 重新导出的ipa文件,安装时,不需要卸载旧的app,可以直接覆盖旧的app。
5.证书的有效期是固定的,过期了怎么办?
答:证书过期了只能重新下载。Certificate的有效期为一年,自创建证书开始算起,而PP文件的有效期是同它关联的证书的有效期一致,证书过期了,所有和他绑定的PP文件也一 起过期。
6.iOS的推送证书也有过期时间的限制的,过期后就需要开发者在苹果官网上重新生成一个证书。
解决方法:
1)先revoke你的Certificate,重新生成一个新的。
2)Edit一下你的pp证书,选择新的Certificate。
3)下载覆盖之前的证书,就可以了。
7.又遇到了新问题,正在解决中