在这里我不讲如何操作证书,我只把大致流程说明一下,以及说一些关于非自动模式下如何配置你的证书。
1. 首先你要有一个苹果开发者帐号
个人、公司性质都可以(能发布到appstore上,不是企业内部开发帐号)
2. 通过网上教程生成CSR
很多经常和iOS开发打交到的在developer.apple.com上会遇到要提供csr文件。这个文件是mac本地keychain创建生成的。其实名字后缀是 “ certSigningRequest ”,这个文件多少年都不要丢,这是很重要的文件。
3. 到网站上生成帐号证书
developer.apple.com上生成证书有很多种类型,不管哪种类型都需要csr。
-
开发证书 develop
包括app开发证书和推送开发证书两种
image.png -
发布证书 release
- 在testflight之前appstore 和 adhoc不是一个证书, 现在adhoc虽然还能用,但是因为testflight的便利,基本没人用了。
-
推送证书
image.png
这两个证书需要下载安装到keychain中
4. 生成app id
-
appid的名字
只作为网站上的识别符
image.png -
明确的id / 模糊的id
image.png
id名的起法, id名起法其实可以随意, 只要符合字母和小数点组合就行, 关键在于自己的id即便和别人的id重叠, 也会因为帐号的前缀(每个开发主账号都有唯一前缀码)相互区分。虽然可以随便起名,但是还是保持良好的习惯按照苹果给的例子,com.开发者公司/域名.app名称 来起名, 如果遇到了不同证书的不同id,也可以很好的在本地区分。
这里需要注意的是, 模糊的id可以作为app开发签名的id, 但是不能作为发布签名的id, 发布签名必须使用明确的id.
- 需要的额外服务
这里,推送就是需要提供csr
5. 增加设备到开发中
可以批量导入, 也可以一个一个添加
udid可以通过itunes连接设备来查看。
image.png
6. app签名
- 开发签名
开发签名对应5提到的所有录入的设备(设备上限貌似100台)
以及3提到的所有开发证书
可以使用泛类id, 也可以使用精准id
-
发布签名
发布签名只能使用精准id
对应的发布证书也只能是一个, 它的有效期跟着发布证书走, 从发布证书创建+1年过期
image.png
7. 开发时用到哪些?
-
手动布置
手动配置, 挺麻烦的, 开发证书/发布证书/key/开发签名/发布签名都需要配置正确下载并安装进mac上才可以
image.png -
自动适配
这打勾即可
image.png
8. 遇到最常见的签名错误
- 开发签名无效
开发签名无效一般就是开发证书没下载或者开发签名过期, 比较简单, 重新生成下载就好了.
有主账号直接添加
image.png
-
发布签名无效
要达到发布签名有效, 必须观察keychain内是否有对应的distribution证书, 并且此证书能展开key ( 一般无法发布原因是签名, 证书都有, 但是key并没有, 在网站上完全看不到这个展开, 每个发布证书都看着没什么区别, 需要下载下来对照着keychain看)
当发布证书能展开key时, 回到网站上将发布签名改为这个证书对应的重新生成并下载下来(区别方法就是有效日期)
image.png
另一种方法是在xcode中添加, 当你有发布主帐号时, 在xcode的账户设置下轻松可以搞定很多事情, 直接添加发布证书即可.
image.png需要注意的是发布证书创建是有数量上限的. 能不创建最好不创建.
发布证书最好从带key的mac上直接下载来用, 从developer上下载下来的不包含key
网友评论