在测试过程中,需要开发者账号对app签名,方便测试。为了这个目的,在证书方面需要创建三个东西:a.开发者证书,b.能匹配被测应用BundleID的App ID, c.能匹配被测应用和待测设备的provisioning profile(最后打包实际需要的是a和c,后面我会详细介绍这3者的关系)。下面逐一介绍创建步骤:
步骤一 创建开发者证书
登录开发者账号中心后,点击添加按钮:
然后选择iOS App Development类型:
然后会提示你创建一个CSR,图中说的很详细,然后按下图图中说明创建好CSR后,点击下一步,把刚刚创建好的CSR上传上来(图略),然后点击生成按钮,开发者证书就生成了。
ps,这里在填写信息的时候,三个字段都得填上,特别是下面的“常用名称”,这一项就是生产的私钥的名字;如果不填写,在生成证书的时候会报错。
把开发者证书下载下来后,双击安装,在钥匙串中会看到证书和专用秘钥。
步骤二 创建App IDs
创建App IDs主要是为了给创建provisioning profile的时候使用。这里App IDs分两种类型,即Explicit App ID和Wildcard App ID。Explicit即唯一指定Bundle ID,只能用于一个应用;Wildcard可以通过通配符模糊指定Bundle ID,可用于多个应用(如指定为com.*,那么只要Bundle ID前缀为com.的都可以应用)。
但选择Wildcard后,有很多应用服务就不能用了,比如IAP等,下图中置灰的都是Wildcard App ID不能用的。
我的应用场景是需要给多个被测应用打包,所以创建了一个Wildcard App ID,填好名字和Bundle ID后,点击生成即可。这里要确保Bundle ID能匹配所有被测应用。 然后在打包时,在项目设置中把该ID不支持的App Services关闭掉。
步骤三 创建provisioning profile
创建provisioning profile的时候,仍选择iOS APP Development类型,
下面选择关联的App ID(App ID就是被用在这里啦!),选定App ID后,也就决定了这个provisioning profile能用于哪些项目的codesign了。
再下一步选择证书,这里又和证书关联上了。也就是说在使用这个provisioning profile时,用于签名的证书必须是这里选定的证书。
然后就是选择设备了,包成功打出来后,能不能安装在你的设备上,就看这里有没有勾上了。(要想让设备出现在下面的list中,需要在主页面左侧的Devices选项中添加设备,这里就不赘述了)
勾选完设备后,再填上Profile Name,搞定!
现在需要的证书都生成好了,把开发者证书和provisioning profile下载到本地,双击安装,然后就可以开始打包了。
如果想要在其他机器上也能打包,需要把本地的密钥和证书一起导出成p12文件,然后把p12文件和provisioning profile文件给对方安装即可。
有理解有误的地方,欢迎大家指正~