签名证书 - 最让iOS开发头痛的事情

作者: Zszen | 来源:发表于2017-11-23 15:28 被阅读46次

    在这里我不讲如何操作证书,我只把大致流程说明一下,以及说一些关于非自动模式下如何配置你的证书。

    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.

    • 需要的额外服务
    image.png

    这里,推送就是需要提供csr

    5. 增加设备到开发中

    可以批量导入, 也可以一个一个添加
    udid可以通过itunes连接设备来查看。


    image.png

    6. app签名

    • 开发签名
      开发签名对应5提到的所有录入的设备(设备上限貌似100台)
      以及3提到的所有开发证书
      可以使用泛类id, 也可以使用精准id
    image.png
    • 发布签名
      发布签名只能使用精准id
      对应的发布证书也只能是一个, 它的有效期跟着发布证书走, 从发布证书创建+1年过期


      image.png
    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

    相关文章

      网友评论

        本文标题:签名证书 - 最让iOS开发头痛的事情

        本文链接:https://www.haomeiwen.com/subject/yfezvxtx.html