iOS多人开发中的证书问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS多人开发中的证书问题相关的知识,希望对你有一定的参考价值。

参考技术A 之所以写这篇文章呢,主要还是觉得很多初学者多人合作时,在证书和配置文件的使用上有一点困难,(虽然我也是初学者,#捂脸#),不过跟同事合作开发后,踩了一些坑,也就懂了一些。(这里不讲证书怎么生成,只讲证书怎么用,怎么合作开发)

首先我们要知道我们需要哪些证书,哪些配置文件。

我们主要关心的是证书和配置文件这两项,证书有Development证书,也就是开发证书,用于开发阶段使用,Production证书,用于商店上线使用;配置文件有Development配置文件,用于开发,Distribution配置文件,用于上线使用。
我们在开发一款新的App的时候,需要新建一个App ID,而我们在创建证书和配置文件时,都需要选择上我们创建的App ID,来对应这个App。

在多人开发中,比较重要的一个角色就是开发者帐号的管理者,上面的这些文件都需要管理者,在自己的电脑上,生成本地证书,来获取。

现在假设你就是帐号的管理者,那么xcode上你需要登录开发帐号,而且上面这些证书和配置文件的申请都需要你来处理,申请完这些证书后就可以将这些证书全部打开,导入到自己的钥匙串和xcode中了。
那么现在,你想让你的合作者也能和你一起开发,一起真机调试,那么你上面申请到的证书,需要在本地生成p12文件,给你的同事用,而配置文件,你把你之前申请的,直接发送给他,他就能使用了。

现在你同事需要注意的是,你现在是管理者,那么打包什么的,就要交给你来处理了,因为你登录了开发者帐号,而你的同事的xcode不要登录开发者帐号,如果登录了,可能会造成配置文件失效,尤其是有时xcode会弹出那个fix issue选项,这里xcode识别到你的配置文件失效了,你点击fix issue,xcode就会自动帮你生成一个新的配置文件,这样是不方便管理的,尤其是在多人合作了,所有尽量不要点,所有的证书和配置文件的管理,都交给管理者统一处理。

iOS开发-多台机器共用证书问题

今天又被证书的问题卡壳了:

      在公司的电脑上申请的开发、发布证书,回家用自己的电脑从苹果开发者中心上将证书和配置文件都下载下来提示用不了,弄了很久才想起.p12文件,必须从申请证书的电脑上导出,导入到自己的电脑上使用,以防以后忘记,重新做个笔记,也好好梳理下各个证书、文件的作用。

 

1. 下载.cer文件到别的机器。就是在IDP上的那个。
2. 从发送申请文件(certificate Request,后缀名为certSigningRequest)的机器上把证书对应的private key(.p12文件)导出,密码自己定,要记住,后面导入的时候要用。
3. 在你需要的机器上安装证书(.cer),导入私钥文件(.p12)。安装对应App的provisioning profile。
4. Over,你可以用其他机器开发了。
注:必须得从申请机器上导出private key.到其他机器上
一、成员介绍
1.Certification(证书)
           证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:
         1)Developer Certification(开发证书)
                  安装在电脑上提供权限:开发人员通过设备进行真机测试。
                  可以生成副本供多台电脑安装;
         2)Distribution Certification(发布证书)
                  安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
                  不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)
2.Provisioning Profile(授权文件)
            授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
            开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:
        1)Developer Provisioning Profile(开发授权文件)
                  在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
                 注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。

        2)Distribution Provisioning Profile(发布授权文件)
                在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序:
                        发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
                        测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

3.Keychain(开发密钥)
         安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。

         注意:Distribution Certification只有配置证书(只有一台)的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

以上是关于iOS多人开发中的证书问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS 多人共享开发者账户之 Missing Private Key

iOS - p12 证书

多人框架 iOS 9.2 中的断开连接问题

iOS打包ipa方法(.app->.ipa)

在多人连接iOS 10中无法通过蓝牙连接

了解 iOS 中的 Provisioning 配置文件和证书