uniapp打包iOS应用完整指南:证书生成、转换与安装测试
uniapp打包iOS应用完整指南:证书生成、转换与安装测试
本文将详细介绍如何使用uniapp打包iOS应用的完整流程,包括证书生成、转换、描述文件生成以及最终的安装测试步骤。
前言
在使用uniapp打包iOS应用时,开发者需要经历多个步骤,包括生成证书签名请求、创建证书和描述文件、打包以及安装测试。本文将详细记录每个步骤的具体操作方法和注意事项,帮助开发者顺利完成iOS应用的打包工作。
注意:开始之前,你首先需要拥有苹果开发者账号。点击此进入👉 Apple 开发者网站
一、生成证书签名请求
1. 生成 RSA 私钥
你可以使用openssl命令来生成私钥。如果你没有Linux系统,也可以在Windows中安装Git客户端,使用Git Bash来生成。
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
2. 生成证书签名请求(CSR)
接下来生成证书签名请求(CSR):
openssl req -new -key private_key.pem -out CertificateSigningRequest.csr
填写信息时请按照以下示例:
Country Name (2 letter code) [XX]: CN # 国家代码,如中国填写 CN
State or Province Name (full name) []: Beijing # 省份
Locality Name (eg, city) []: Beijing # 城市
Organization Name (eg, company) []: MyCompany # 组织/公司名
Organizational Unit Name (eg, section) []: Dev # 部门
Common Name (eg, your name) []: John Doe # 常用名(开发者姓名或邮箱)
Email Address []: john@example.com # 邮箱
注意:Common Name 建议与 Apple 开发者账号关联的邮箱一致。
生成的描述文件(CertificateSigningRequest.csr)将用于后续步骤。
二、在开发者账号中创建证书和描述文件
1. 创建证书
登录你的Apple开发者账号,按照以下步骤创建证书:
选择证书类型:
- 如果是开发/测试版,选择"Apple Development"
- 如果是正式版,选择"Apple Distribution"
上传之前生成的证书请求文件(CertificateSigningRequest.csr),点击"Continue"。创建完成后,下载证书(cer文件)备用。
2. 创建描述文件
在创建描述文件之前,如果打包的是测试版,需要先添加授信设备。在"Devices"菜单下添加设备时,需要输入iPhone的UDID,可以通过以下链接获取:
UDID获取链接
点击"Identifiers"菜单,创建描述文件。注意bundle ID的格式应为:com.域名.app名称。填写完成后点击"Continue"并下载描述文件备用。
三、打包
1. 证书转换
在打包之前,需要将下载的cer证书转换为Hbuilder X支持的p12证书:
将CER证书转换为PEM格式:
openssl x509 -inform DER -in ios_development.cer -out ios_development.pem
将私钥和证书合并为.p12文件:
openssl pkcs12 -export -inkey private_key.pem -in ios_development.pem -out certificate.p12
输入一个导出密码,该密码在后续打包时需要使用。
2. 打包
准备工作完成后,将以下文件和信息填入Hbuilder X的打包页面:
- p12证书:certificate.p12
- 描述文件:xxx.mobileprovision
- bundle ID
- 证书密码
点击打包按钮,等待打包完成。
四、安装测试
证书没有授信怎么办?
如果你打包的是测试版,将ipa下载链接发送到手机并用浏览器打开,可能会遇到"证书没有授信"的提示。此时需要在手机上进行以下操作:
- 打开"设置"
- 进入"通用"
- 选择"VPN与设备管理"
- 点击信任开发者证书
需要启用开发者模式怎么办?
如果在安装过程中遇到"需要启用开发者模式"的提示,可以在"隐私与安全性"页面底部找到"开发者模式"选项,点击右侧开关按钮,根据提示重启设备。
总结
以上就是使用uniapp打包iOS应用的完整流程。希望本文能帮助开发者顺利完成iOS应用的打包工作。