前言
有些项目需要打包 iOS 的应用,众所周知任何跟苹果相关的东西都是有点复杂的,即使安装测试 App 到手机上也如此。
申请好 Apple Developer 账号以后,还需要做一些复杂的操作才能让 App 安装到手机上,借此机会记录一下。
添加 UDID 到白名单
所有 iOS 的设备都有一个 UDID(设备唯一识别码),可以理解成人的身份证号码,有了这个UDID,并注册到开发者后台,才可以安装测试用的 App 到手机上。
这个机制可以简单的理解成小程序中的体验者,需要在小程序后台中添加体验者的微信号白名单,才可以使用体验版小程序。
获取 UDID
获取UDID最常用的方法有两个。
一是通过电脑获取,将手机连接到电脑,如果是 Mac 的话,在访达中找到手机,如果是 Windows 的话,需要 iTunes 或者爱思助手之类的工具。
在手机名称下面的一行小字中查看 UDID,如果出现的不是 UDID,鼠标点击可以切换显示。
二是通过手机获取,用 Safari 浏览器访问:https://udid.sanfenmi.cn ,按照指引安装一个描述文件。
安装后打开系统设置,继续获取步骤,即可获取到设备的 UDID。
注册 UDID
在开发者后台首页,点击 Device:
进入设备列表页面后,点击添加按钮,填写 Device Name(备注而已,可随便填写)、Device ID(UDID),即可注册成功。
注:每个开发者账号只允许注册100个设备。
注册 App
左侧菜单中进入 Identifiers 页面,并点击添加。
类型选择 App IDs,Bundle ID 填写一个唯一的包名,例如 com.sinkey.blog
,需要注册的权限按自己的需求勾选,用不到的不要选择,否则影响上架审核,也可能在打包时遇到 各种各样不必要的问题。
通常建议勾选 Associated Domains(对接支付后跳回此App需要)
和 Push Notifications(推送通知)
。
生成证书
左侧菜单中进入 Certificates 页面,并点击添加。
选择证书类型
证书类型选择 iOS App Development
,如果不是测试目的,而是是为了分发的话,选择 iOS Distribution
。
上传证书签名请求
此步骤需要上传一个证书签名请求文件(CSR)。
在 macOS 中,打开钥匙串访问,在菜单中,选择“从证书颁发机构请求证书”
之后填写名称和邮箱,即可生成一个请求文件,记得选择存储到磁盘。
将生成后的文件,在开发者后台中上传,即可生成一个证书文件。
点击 Download 按钮,即可下载到本地(CER格式)
获取 P12 证书
在 macOS 的“钥匙串访问”中,左侧边栏中选择“登录”标签,顶部 Tab 中选择“证书”标签。
然后打开上一步骤中下载的证书文件,即可将证书导入到钥匙串访问中。
导入后,找到导入的证书,右键选择导出:
文件格式选择 P12:
然后给证书设置一个密码,后续签名 App 会用到:
注:如果导入了证书到钥匙串访问后,提示证书不受信任,访问此地址:https://www.apple.com/certificateauthority/ ,下载
Worldwide Developer Relations
` 证书并导入到钥匙串访问即可。
创建配置文件
选择配置类型
左侧菜单中进入 Profiles 页面,并点击添加。
类型选择 iOS App Development
,如果上面生成证书的时候,生成的是分发,那就在 Distribution
中选择:
选择 AppID 和 证书
根据流程走,首先选择上面创建 App 时候填写的包名的AppID,下一步选择刚才生成的证书。
配置 UDID 白名单
选择最开始添加到开发者后台的 UDID 白名单列表,此处勾选 Device Name 即可,也可以全选。
完成
最后即可下载 .mobileprovision
格式的描述文件。
至此,在开发者后台需要做的事情全部完成了。
注:生成好配置文件后,如果需要重新添加新的 UDID 白名单,描述文件也需要重新生成。
UniApp 签名
在 HBuilderX 中,菜单栏点击发行->云打包,填写Bundle ID,选择描述文件和 P12 证书文件,并输入导出 P12 证书时设置的密码,即可开始打包。打包后可直接安装到手机。
其他 App 签名
例如轻松签,将 P12 证书文件和描述文件,通过文件导入到 轻松签 中,在文件列表中,先导入 P12 文件,再导入描述文件,即可导入证书。
导入后,将任意砸壳后或未签名的 .ipa
文件通过文件管理器导入到应用库,即可脱离电脑,使用手机直接签名安装。