书接上回:海外游戏发行与运营之——App Store接入/出参的那点事(一)
跳过前面的部分有可能会对后面的操作产生影响,各位酌情跳读
生成证书
前排提醒,生成苹果证书需要一台MAC!同时因为Mac的操作和Windows差距较大,很多Mac又没有USB接口,无法使用常规的鼠标,因此操作会相当折磨。建议配备蓝牙(注意是蓝牙,不是无线)鼠标,或者熟悉Mac操作。
另外可以提前找研发和参与测试的同事要一下UDID(苹果设备号),生成描述文件时会用到。获取UDID:https://www.pgyer.com/tools/udid
证书一般有效期1年,超过1年再打包时会提示证书失效。但正式失效与否不影响线上玩家,只要不打包,证书失效了也无所谓。
同一个账号下能创建的证书是有限的,如果项目多的话,可能会出现证书位置不够的尴尬情况。
- 有概率出现自己项目的证书被其他项目的人反激活(revoke)的情况。此时打包的话会提示XXX证书is revoked。证书被反激活后等同失效,需要重新出
- 如果我们自己碰到证书位置不够,需要反激活其他项目证书的情况时,一般选择时间最早的,即最临近需要重新出证书日期的证书反激活
创建证书
必须先创建好ID和App以后才能创建证书。如果没有创建,请参考《海外游戏发行与运营之——App Store接入/出参的那点事(一)》中的步骤
证书一般一年有效,超过有效期好像不会影响线上(不确定),但再次打包时会提示证书过期,此时需要重新创建证书
- 登录开发者后台:https://developer.apple.com
- 右上角点击【Account】,输入账号密码(可能需要两步验证)
- 确认商店账号。有时同一个账号下会有多个商店账号,确认选中的是自己想要的商店账号
- 选【Certificates】,点加号
- 选【Apple Development】、【Apple Distribution】和【Apple Push Notification service SSL (Sandbox & Production)】分别创建Development、Distribution和Push证书,操作基本相同
- 到了这步需要CSR文件。如果项目已经有现成的,这里可以直接上传;如果没有,继续看下面生成CSR的步骤。
获取CSR文件
- 在Mac上启动【钥匙串访问】
- 【最大化】钥匙串访问(一定要最大化菜单栏才会出来),鼠标移到顶部,在菜单栏中选择【钥匙串访问】-【证书助理】-【从证书颁发机构请求证书】
- 填写苹果账号(邮箱)和常用名(常用名会显示在钥匙串中,建议取一个有辨识度的和其他证书区分),选择【存储到磁盘】并继续
- 选择保存位置后到对应的路径查看,可以找到一个CertificateSigningRequest.certSigningRequest文件
- 上传CSR文件,继续,下载证书
根据.cer生成p12
到上一步为止,获得的是.cer的证书。如果当前Mac可以登录苹果账号打包,那么用.cer就行了。但研发与发行分开的情况下则并不行,因此需要把.cer转换为.p12。
两者都是证书,但.p12允许我们在生成证书的Mac上绕过苹果账号本身的密码,重新给证书设定一个独立密码,从而达到.p12文件 + 重新设定的证书密码 = 直接登录苹果账号的效果,让研发可以异地打包的效果。
- 找到下载的证书,双击打开,然后进入钥匙串找到对应的证书。如果电脑上有很多证书,可以根据下拉箭头(注意一定要在钥匙串的证书页签才有下拉箭头)中的常用名,以及证书的过期时间(自生成时间起1年有效)判断这个证书是否为自己想要的
- 点击【证书】,在证书名称上点击【右键】(注意一定要在证书上右键,不能在下拉箭头中的密钥上右键,否则会导致导出的证书统统变成development证书),选择【导出】,填写名称和密码(这个密码也要提供给研发),选择保存位置并保存
- 至此一个证书的本体算创建完成
添加设备
设备是跟着苹果账号走的,也就是说如果几个项目共用同一个苹果账号,其设备列表也是共享的。因此:
- 已经在同一个账号内添加过的设备,即便换了项目也不需要重新添加
- 测试设备数量有上限。项目越多,每个项目能分到的测试设备名额就越少,可能需要协调
创建描述文件
必须先创建证书并添加设备以后再创建描述文件,因为描述文件本质上是联系证书和设备的纽带。
注意,在非本机打包的情况下,测试设备有更新时需要重新出描述文件(证书不变的话可以不用重新创建证书,只更新描述文件)。
- 选【Profiles】,点加号
- 选【iOS App Development】、【Ad Hoc】和【App Store】分别创建对应的描述文件,操作基本相同
- 选择自己项目的App ID。如果没有参考创建ID的部分先去新建项目ID,再创建证书,最后再回来创建描述文件。离线支持选No(如有)
- 选择对应的证书。如果没有参考创建证书的部分先去创建证书,再回来创建描述文件。证书的名字经常没有辨识度,需要在证书页面根据名字和到期时间仔细分辨一下
- 勾选参加测试的设备。如果没有参考添加设备的部分先去添加设备,再回来创建描述文件
- 命名并核对信息,生成并下载描述文件