iOS打包详解

Posted wx5aae83353cec4

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS打包详解相关的知识,希望对你有一定的参考价值。


背景

今天使用Xcode打包上传ipa时遇到一个问题: Missing private key,如下图。通过查询是.cer 证书失效的问题,需要重新生成新的证书。

iOS打包详解_描述文件


苹果规定 .cer证书只能存在于一台机器上,因此 如果另一台电脑想要用的话,需要导出为.p12 file ,安装到另一台没有安装.cer文件的mac电脑。

首先,给大家普及下基本知识,ios有两种证书和描述文件:

证书类型

使用场景

开发(Development)证书和描述文件

用于开发测试

发布(Distribution)证书和描述文件

用于提交Appstore,可使用Application Loader提交到Appstore审核发布

# iOS证书(.p12)

登录iOS Dev Center

打开网站iOS Dev Center,使用苹果开发者账号登录iOS Dev Center。

iOS打包详解_ide_02


登录成功后,打开“iOS Certificates”页面,可以看到所有已经申请的证书及描述文件。

iOS打包详解_描述文件_03

申请苹果App ID

在“iOS Certificates”页面“Identifiers"下选择“App IDs",可查看到已申请的所有App ID,点击右上角的加号可创建新的“App ID”。

iOS打包详解_ide_04


在“App Services”栏下选择应用要使用到的服务(如需要使用到消息推送功能,则选择“Push Notifications”)。例如:

iOS打包详解_ide_05


设置完成后选择“Continue”,弹出确认页面,确认后选择“Submit”提交,再次确认就可以在“App IDs"页面看到刚创建的App ID。

生成证书请求文件

对于iOS开发来说,不管是申请开发(Development)证书还是发布(Distribution)证书,都需要使用证书请求(.certSigningRequest)文件,证书请求文件需在Mac OS上使用“Keychain Access”工具生成。

在“Spltlight Search”中搜索“Keychain”并打开“Keychain Access”工具:

iOS打包详解_ide_06


打开菜单“Keychain Access”->“Certificate Assistant”,选择“Request a Certificate From a Certificate Authority…”。

iOS打包详解_ide_07


打开创建请求证书页面,在页面中输入用户邮件地址(User Email Address)、证书名称(Common Name、请求类型(Request is),最后选择保存到磁盘(Saved to disk)。

iOS打包详解_描述文件_08


点击“Save”后保存证书请求文件。

iOS打包详解_ide_09

申请开发(Development)证书

开发(Development)证书用于测试环境下使用,可以直接安装到手机上(不用提交到Appstore),但一个描述文件最多只能绑定100台设备(因此通过这种证书正式发布应用是行不通的)。

申请开发证书

在“Certificates, Identifiers & Profiles”页面“Certificates"下选择“Development",可查看到已申请的所有开发(Development)证书,点击右上角的加号可创建新的证书。

iOS打包详解_ide_10


打开“Add iOS Certificate”页面,在“Development”栏下选中“iOS App Development”。

iOS打包详解_ide_11


打开证书生成页面,点击“Choose File…”选择“生成证书请求文件”章节生成的“CertificateSigningRequest.certSigningRequest”文件,点击“Generate”生成cer证书成功。

iOS打包详解_ide_12

生成证书成功后打开证书下载页面,选择“Download”下载保存证书(ios_development.cer)。

iOS打包详解_ios_13


双击保存到本地的ios_development.cer文件导入到“Keychain Access”,导入成功后,可以在证书列表中显示。

iOS打包详解_描述文件_14


选中导入的证书,右键选择“Export “Developer” …”:

iOS打包详解_ide_15


打开证书保存页面,输入文件名、选择路径后点击“Save”,然后打开设置证书密码页面,输入密码及确认密码后点击“OK”。

iOS打包详解_ios_16


打开访问“Keychain Access”密码页面,输入Mac OS管理员密码,点击“Allow”,即可保存开发(Development)证书(如“HBuilderCert.p12”)。

添加调试设备

开发描述文件必须绑定设备,所以在申请开发描述文件之前,先添加调试的设备。具体来说,在“Certificates, Identifiers & Profiles”页面“Devices”下选择“All",可查看到已添加的所有设备信息,点击右上角的加号可添加新设备。

iOS打包详解_描述文件_17


打开“Registering a New Device or Multiple Devices”页面,输入设备名称和UDID。

iOS打包详解_描述文件_18


iOS打包详解_描述文件_19


将设备连接到电脑,启动iTunes,点击次区域可切换显示设备的UDID,右键选择复制UUID。

iOS打包详解_描述文件_20


输入完成后,点击“Continue”继续,确认输入信息,如果没有错误点击“Register”即可完成添加。

iOS打包详解_ios_21

申请开发(Development)描述文件

在“Certificates, Identifiers & Profiles”页面“Provisioning Profiles”下选择“Development",可查看到已申请的所有开发(Development)描述文件,点击右上角的加号可创建新描述文件。

iOS打包详解_ide_22


打开“Add iOS Provisioning Profile”页面,在“Development”栏下选中“iOS App Development”。

iOS打包详解_ide_23

点击“Continue”按钮,打开“App ID”选择页面,选择要使用的“App ID”,点击“Continue”。

iOS打包详解_描述文件_24


打开“Select certificates”页面,选择前面创建的开发证书。

iOS打包详解_描述文件_25


点击“Continue”,打开选择调试设备页面,选择用于调试安装的设备(最多100太设备)。

iOS打包详解_ide_26


点击“Generage”,生成描述文件成功,然后下载描述文件即可。

iOS打包详解_ide_27

申请发布证书

发布(Production)证书用于正式发布环境下使用,用于提交到Appstore审核发布,申请的过程和申请开发(Development)证书类似。

申请发布(Production)证书

在“Certificates, Identifiers & Profiles”页面“Certificates"Production",可查看到已申请的所有发布(Production)证书,点击右上角的加号可创建新证书。

iOS打包详解_ios_28


打开“Add iOS Certificate”页面,在“Production”栏下选中“App Store and Ad Hoc”。

iOS打包详解_描述文件_29


打开确认证书请求页面,点击“Continue”继续。

iOS打包详解_描述文件_30


生成证书成功后打开证书下载页面,选择“Download”下载保存证书(ios_production.cer)。

iOS打包详解_描述文件_31


双击保存到本地的ios_production.cer文件导入到“Keychain Access”。导入成功后,可以在证书列表中显示。

iOS打包详解_ios_32


选中导入的证书,右键选择“Export “Developer” …”。

iOS打包详解_ios_33


同样,打开证书保存页面,输入文件名、选择路径后点击“Save”。打开访问“Keychain Access”密码页面,输入Mac OS管理员密码,点击“Allow”,保存开发(Production)证书(如“HBuilderCert.p12”)。

iOS打包详解_ios_34

申请发布(Distribution)描述文件

在“Certificates, Identifiers & Profiles”页面“Provisioning Profiles”下选择“Distribution",可查看到已申请的所有发布(Distribution)描述文件,点击右上角的加号可创建新描述文件。

iOS打包详解_描述文件_35


打开“Add iOS Provisioning Profile”页面,在“Development”栏下选中“iOS App Development”。

iOS打包详解_ide_36


点击“Continue”按钮,打开“App ID”选择页面,选择要使用的“App ID”,点击“Continue”。

iOS打包详解_ios_37


打开“Select certificates”页面,选择前面创建的发布证书。

iOS打包详解_ios_38


点击“Generage”,生成描述文件成功。

iOS打包详解_ide_39


然后,下载描述文件点击安装即可。


以上是关于iOS打包详解的主要内容,如果未能解决你的问题,请参考以下文章

Flutter完整开发实战详解(十九 Android 和 iOS 打包提交审核指南)

Hbuilder打包成苹果IOS-App的详解

Hbuilder打包成苹果IOS-App的详解

JS中的加号+运算符详解

跨平台应用开发进阶(四十一)使用Xcode打包 iOS 应用 archive 时四种证书的区别详解

iOS最新极光推送详解(2016转)