在苹果开发者网站申请的证书,是授权mac设备的开发或者发布的证书,这意味着一个设备对应一个证书,但是99美元账号只允许生成3个发布证书,两个开发证书,这满足不了多mac设备的使用,使用p12文件可以解决这个问题。

导出.p12文件的原因

当团队开发应用时(大于三个mac设备),想要再申请新的证书时,就会发现我们的帐号中已经不能在申请证书了。例如在iOS企业帐号($299)中,最多只能申请两个发布证书,如果再申请的话,发布证书会显示为灰色不可选状态。(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)

屏幕快照 2016-08-16 10.47.35.png

解决办法

有两个解决不能添加证书的办法。

第一种方法——“revoke”(不推荐):

将以前的证书“revoke”掉,如图:

154900_Y416_1245365.png

然后重新生成一个新的证书。

这种方法是可以的,但是会造成相应的Provisioning Profiles失效,这个可大可小。如果只有你一个人则问题不大,如果是一个团队大家都在用,你把这个证书删除了,会导致别人的描述文件失效,这意味着别人不能发布应用了(还可以开发)。而且对已部署到服务器上的应用程序有影响,APP会无法下载,之前下载的App也会无法通过验证而无法使用。这可是大问题,所以不提倡这种做法,。

第二种方法——“.p12”(推荐):

导出证书

我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。

注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书才可以生成.p12文件,如图:

144731_h89e_1245365.png

打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:

145356_37Xa_1245365 (2).png

为.p12文件填一个名字,点击存储:

145419_4APv_1245365.png

填“密码”,“验证”(和密码相同):

145850_riFP_1245365.png

点击好,在桌面上就形成了一个.p12文件了:

145850_h08r_1245365.png

在别人的电脑上要成功安装,须具备两个文件:

152539_lpaC_1245365.png

  1. 该证书导出的“.p12”文件(.p12文件本身就是一个加密的证书,所以用这两个文件就可以让其他mac设备使用了)。
  2. iOS开发者中的与“证书”对应的“描述文件”(这个描述文件也可以上开发者帐号上下载)

安装证书

拿到这两个文件后,依次双击“证书”,“.p12“文件(需要输入密码,密码就是当时生成.p12时设定的密码,),作用是加入钥匙串中,使我们的电脑具备开发的证明,”描述文件“(作用是置于xcode中,让xcode知道我们开发的合法性),添加完后就可以使用证书来签名发布ipa了。

添加开发者

若开发者需要通过企业签名进行真机调试(不是发布ipa),则需要在企业开发者帐号中添加个人开发者帐号,让个人开发者作为企业开发者帐号中团队的一员,这样就可以生成相对于个人的开发证书,进行真机调试。添加开发者的权限问题可根据需求自行设定,有包括Admin和Member两个类型。

出现问题

The certificate used to sign “APPTest” has either expired or has been revoked. An updated certificate is required to sign and install the application.

原因:ios证书过期或者被撤销了

解决办法:先去钥匙串访问中找到过期证书删除后,下载最新的证书重新安装

process launch failed: failed to get the task for process XXX

原因:证书问题,必须用开发者证书才可以真机调试。

解决办法:在企业帐号中添加个人开发者证书,然后生成对应的Provisioning Profiles,下载证书和Provisioning Profiles安装到Xcode上。或者修改一下包名在修改回来,会出现然后会出现一个警告,然后点击Fix Issue,然后Xcode会帮你自动完成