Apple开发者证书配置说明以及通过uni-app项目如何配置
开发流程
我们的制作流程分为以下三步:
- 获取开发者证书
- 获取APP ID
- 获取描述文件(profiles),如果是测试环境,需要先添加UUID(苹果手机的UUID),只有添加了的手机才能用于测试
1.开发者证书:
总共有两种类型:Developer(开发证书)和Distribution(发布证书),这个是最基础的,不论是真机调试,还是上传到appstore都是需要的,是一个基证书,用来证明自己开发者身份的;
2.App ID:
顾名思义,是一个APP的唯一标示,相当于人的身份证号,如果有两个安装包A和B是同一个App ID,安装A后再安装B,B就会将A覆盖掉,取而代之。APP的更新也就是这个道理,安装了1.0版本。如果发布1.1版本,需要1.1版本的App ID和1.0的相同,手机会先去找是否有次App ID已经安装了,如果未安装,则直接进行安装1.1版本;如果发现有1.0版本,则对1.0版本进行覆盖。类似同一个文件夹下,相同名字的文件只能有一个,如果再拷贝一个相同名字的文件,就会提示是否替换掉旧的文件。
在设置项中可以配置该应用的权限,比如是否用到了PassBook,GameCenter,以及更常见的push服务,如果选中了push服务,那么就可以创建生成下面第3条所提到的推送证书,所以,在所有和推送相关的配置中,首先要做的就是先开通支持推送服务的App ID;
3.描述文件:
Profiles,这个东西是很有苹果特色的一个东西,我一般称之为描述文件,该文件将App ID,开发者证书,硬件Device绑定到一块儿,在开发者中心配置好后可以添加到Xcode上,也可以直接在Xcode上连接开发者中心生成,真机调试时需要在描述文件中添加真机的UDID;是真机调试和上架必备之珍品
4.开发者证书创建:
基本流程:
通过苹果电脑创建CRS文件 → 登录开发者账号 → 进入certificates页面 → 选择开发环境 → 上传CRS文件
4.1:在苹果电脑上通过钥匙串访问创建CRS文件
- 去Launchpad-->其他中找到 “钥匙串访问” 点击钥匙图标
- 生成证书请求:钥匙串访问⟶证书助理⟶从证书颁发机构请求证书
输入两个电子邮件地址和常用名称。电子邮件地址是你注册AppleID。
a) 常用名称输入公司名称
b) 选择“存储到磁盘”。保存后的名称应该为:CertificateSigningRequest.certSigningRequest
备注:CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的**的名字;
4.2:通过开发者中心生成证书
首先登陆到开发者中心,点击Certificates,identifiers&Profiles图标,点进证书,会显示如下界面,点击右上角的加号
进入到下面的界面,根据需求选择是创建开发环境的证书还是生产环境的证书,开发测试证书用于真机调试,发布证书用于提交到appStore,我们以开发证书为例,选择第一个红框中的内容
上传通过苹果电脑生成的CRS文件,上传完成后,点击continue
上传成功后进入到下载页面,将证书下载到本机(开发环境证书名一般是:ios_development.cer),此证书用于后面生成.p12文件:
5.App ID的创建
选择 “Identifiers”的 “App IDs”,点击“+”:
输入description和bundle ID,勾选Associated Domains
- App ID Prefix 苹果已经帮我们填了,不需要我们填,可以看出,它是一个团队的ID
- App ID Description 是一个App ID的描述,可以根据自己的项目填写
- App ID Suffix 有两个选项:
Explicit App ID :顾名思义,这里要填一个明确的 App ID,
什么意思呢?可以这么来解释:我们做项目时的Bundle Identifier (Bundle ID)是用来标示我们的app的。我们的App ID也是用来标示我们的app的。这两个有什么联系呢?Explicit App ID 就是要我们确定一个唯一的Bundle ID,用来标示我们的 app,使它有一个固定的身份。可以发现,当提交应用到苹果时,如果我们一开始没写Explicit App ID,苹果会自动帮我们生成一个与我们发布时填的一样的Bundle ID 到我们的App ID中。
填写Explicit App ID 的格式为:com.companyDomain.appName
Wildcard App ID:顾名思义,这里要填一个通配符的 App ID 。意思就是,我们只需要填一个在所有应用都能试用的 App ID 就好了。
填写WildcardApp ID 的格式为:com.companyDomain.*
申请真机调试的时候,不是为了某一个应用去调试,而是为了所有的应用去调试,必须能适应每一个app,所以我们选择Wildcard
App ID。
com.companyDomain.* 的companyDomain 一般写公司的网址域名,也可以按需要写
- Associated Domains
ios 13.0以后的系统需要universal地址,使得可以通过https连接的方式打开app,在此处勾选打开就行,具体配置需要在uni-app项目中配置,配置参考文档:https://ask.dcloud.net.cn/article/36393#unilink
填写完毕后,点击continue按钮,进入到以下页面,点击register进行注册
回到identifiers首页,就可以看见我们刚刚添加的appid了
6.设备UDID的添加(开发环境才需要,生产环境请跳过)
如图,点击“+”,一个99美元账号(个人或者公司级)只能添加100台设备。
填写Device Name和Dveice ID:Device Name是设备名称,可自己随便填写,UDID可以通过iTools查看
TIP:通过iTools查看UDID
填写完成后,点击continue,进入如下页面,点击register就添加完成了:
7.描述文件的制作
描述文件分为开发和发布两种,此处以开发为例
开发模式需要选择之前创建的App ID(为哪个APP创建描述文件)、添加过得UDID(哪些手机可以运行APP)、以及开发证书(使用哪个证书来开发或者打包)。
发布模式需要选择之前创建App ID(为哪个APP创建描述文件)、以及发布证书(使用哪个证书来发布)。
进入到profiles首页,点击 + :
根据需求选择是开发环境还是生产环境,点击continue按钮
进入到如下页面,选择APP ID
点击continue,进入以下页面,选择证书
下载描述文件,uni-app云端生成时需要此描述文件
8.生成.p12文件
为什么要导出.p12文件?
当我们用大于三个mac设备开发应用时,想要申请新的证书,如果在我们的证书里,包含了3个发布证书,2个开发证书,可以发现再也申请不了开发证书和发布证书了(一般在我们的证书界面中应该只有一个开发证书,一个发布证书,没必要生成那么多的证书,证书一般在过期之后才会重新添加。)
我们的每一个证书都可以生成一个.p12文件,这个文件是一个加密的文件,只要知道其密码,就可以供给所有的mac设备使用,使设备不需要在苹果开发者网站重新申请开发和发布证书,就能使用。
注意:一般.p12文件是给与别人使用的,本机必须已经有一个带秘钥的证书(在第一步中生成的证书)才可以生成.p12文件,生成.p12文件需要在苹果电脑上才行,步骤如下:
打开钥匙串,选择我们需要的证书,右击,选择“导出“iPhone Distribition:```”:
填写名字:开发证书填写:developer,发布证书填写:distribution
点击存储会设置证书密码,密码和验证填写相同内容,点击好。
.p12文件: