参考
https://ask.dcloud.net.cn/article/152
https://developer.apple.com/
简述
需求IOS证书(.p12)和描述文件(.mobileprovision),及.ipa上传
证书申请
IOS有两种证书和描述文件:
准备
必需要有苹果开发者账号,并且加入了 “iOS Developer Program”
Mac OS 10.9以上系统(如果已经申请p12证书则不需要)
登录
打开 IOS Dev Center ,使用苹果开发者账号登录
登录成功后在页面左侧选择 “Certificates,IDs & Profiles” 进入证书管理页面
在证书管理页面,可以看到所有已经申请的证书及描述文件:
申请IOS App ID (APP唯一标识)
对应uniapp的发版设置
注意: APP ID多以com. 命名开头,此处为随意示例
选择标识类型为 “App IDs”,然后点击 “Continue”
平台选择 “iOS”,Bundle ID 选择 “Explicit”,在 Description 中填写描述,然后填写 Bundle ID,Bundle ID 要保持唯一性
接下来需要选择应用需要使用的服务(如需要使用到消息推送功能,则选择“Push Notifications”),然后点击 “Continue”
注意:如果App用不到的服务一定不要勾选,以免响应审核
确认后选择提交,回到 identifiers 页面即可看到刚创建的App ID:
至此,App ID 已经创建完毕,接下来开始创建开发证书,在创建开发证书前,需要先生成证书请求文件
生成证书请求文件
不管是申请开发 (Development) 证书还是发布 (Distribution) 证书,都需要使用证书请求 (.certSigningRequest) 文件,证书请求文件需在Mac OS上使用 “钥匙串访问” 工具生成。
打开菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书...”:
打开创建请求证书页面,在页面中输入用户邮件地址、常用名称,选择存储到磁盘,点击 “继续” :
文件名称为“CertificateSigningRequest.certSigningRequest”,选择保存位置,点击 “存储” 将证书请求文件保存到指定路径下,后面申请开发(Development)证书和发布(Production)证书时需要用到
申请开发(Development)证书和描述文件
开发(Development)证书及对应的描述文件用于开发阶段使用,可以直接将 App 安装到手机上,一个描述文件最多绑定100台测试设备(开发证书不能用于发布应用到 App Store)。
申请开发(Development)证书
在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
在 “Software” 栏下选中 “iOS App Development” 然后点击 “Continue”:
接下来需要用到刚刚生成的证书请求文件,点击“Choose File...”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
生成证书后选择 “Download” 将证书下到本地 (ios_development.cer):
双击保存到本地的 ios_development.cer 文件,会自动打开 “钥匙串访问” 工具说明导入证书成功,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”:
输入文件名、选择路径后点击 “存储”:
输入密码及确认密码后点击 “好”:
至此,我们已经完成了开发证书的制作(得到了 xxx.p12 证书文件),接下来,继续生成开发阶段所需的描述文件,在生成描述文件之前,需要先添加调试设备(iPhone 、iPad)
添加调试设备
开发描述文件必须绑定调试设备,只有授权的设备才可以直接安装 App,所以在申请开发描述文件之前,先添加调试的设备。
在证书管理页面选择 “Devices”,可查看到已添加的所有设备信息,点击页面上的加号来添加一个新设备:
填写设备名称 和 UDID(设备标识):
蒲公英扫码获取UDID https://www.pgyer.com/tools/udid
申请开发 (Development) 描述文件
在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
在 “Development” 栏下选中 “iOS App Development”,点击“Continue”按钮:
这里要选择之前创建的 “App ID” (这里是“io.dcloud.hellouniapp”),点击“Continue”:
接下来选择需要绑定的证书,这里建议直接勾选 “Select All”,点击“Continue”:
选择授权调试设备,这里建议直接勾选 “Select All”,点击 “Continue”:
输入描述文件的名称(如“HelloUniAppProfile”), 点击 “Generate” 生成描述文件:
点击“Download”下载保存开发描述文件(文件后缀为 .mobileprovision)
至此,我们已经得到了开发证书(.p12)及对应的描述文件(.mobileprovision),接下看一下如何制作发布证书及发布描述文件
申请发布(Distribution)证书和描述文件
发布 (Production) 证书用于正式发布环境下使用,用于提交到Appstore审核发布。发布证书打包的 ipa,不可以直接安装到手机上
申请发布(Production)证书
在证书管理页面选择 “Certificates" 可查看到已申请的所有证书(TYPE:Development 为开发证书,Distribution为发布证书),点击页面的加号来创建一个新的证书:
在 “Software” 栏下选中 “App Store and Ad Hoc”,点击 “Continue”:
接下来同样需要用到之前生成的证书请求文件,点击“Choose File...”选择刚刚保存到本地的 “CertificateSigningRequest.certSigningRequest”文件,点击 “Continue” 生成证书文件:
生成证书成功,选择“Download” 将证书下载到本地 (ios_production.cer):
同样双击保存到本地的 ios_production.cer 文件将证书导入到 “钥匙串访问”工具中,可以在证书列表中看到刚刚导入的证书,接下来需要导出 .p12 证书文件,选中导入的证书,右键选择 “导出...”:
输入文件名、选择路径后点击 “存储”:
输入密码及确认密码后点击 “好”:
至此,我们已经完成了发布证书的制作(得到了 xxx.p12 证书文件),接下来,继续生成发布描述文件
申请发布 (Distribution) 描述文件
在证书管理页面选择 “Profiles”,可查看到已申请的所有描述文件,点击页面上的加号来添加一个新的描述文件:
在 “Distribution” 栏下选中 “App Store”,点击“Continue”按钮:
这里要选择之前创建的 “App ID” (这里是“io.dcloud.hellouniapp”),点击“Continue”:
接下来选择需要绑定的发布证书(iOS Distribution),这里勾选刚刚生成的发布证书”,点击“Continue”:
接下来输入描述文件的名称(如“HelloUniAppProfileDistribution”), 点击 “Generate” 生成描述文件:
然后点击 “Download” 将描述文件下载到本地(文件后缀为 .mobileprovision)
至此,我们已经得到了发布证书(.p12)及对应的发布描述文件(.mobileprovision)
使用Transportr上传.ipa包
Q&A
1.p12的证书无法导出
A:创建请求证书的时候对话框勾选“让我指定密钥对信息”,要转换成p12文件,就要求证书里面有密钥。如果不选中,我申请下来的证书是没办法选择p12文件的。
2.添加平台审核时,协议更新,无法发布
A:点击"商务"确实有协议待处理,设置满足协议配置即可
3.上传报错: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
A:推送IOS环境有问题,我更换了环境
4.登录报错: Sign in with the app-specific password you generated. If you forgot the app-specific password or need to create a new one, go to account.apple.com.
A:参考https://www.cnblogs.com/gxspring/p/10750598.html (图片很老但是意思一样)