一、iOS打包
1、先注册香蕉云编
官网:https://www.yunedit.com/update/appstore/list
1.用你的 苹果开发者账号 登录(就是你登录 developer.apple.com 的账号)
假如弹出六位验证,登录后需要设备码
2、创建Bundle ID(https://developer.apple.com/account/resources/certificates/list)



Capabilities可以后面补充

3、创建 iOS 开发证书(.cer/.p12)
1.左侧菜单选 「证书」 → 点击右上角 「+」
2.证书类型选 「iOS App Development」
3.点击 「创建」,工具会自动帮你:
1.生成 CSR 文件
2.提交给苹果后台
3.生成 .cer 证书并自动下载
备注:开发iOS端这里默认用小媛的证书
4.证书生成成功后,在文件里找到它,右键导出 .p12,密码默认空
4、创建描述文件(.mobileprovision)
1.左侧菜单选 「Profiles」 → 右上角 「+」
2.类型选 「iOS App Development」
3.关联你的 Bundle ID(就是你之前注册的反向域名)
4.关联刚才创建的开发证书
5.勾选你要测试的设备(需要提前在后台添加设备 UDID)
6.生成并下载 .mobileprovision 文件
备注
5、uni-app 云打包上传
1.打开 HBuilderX → 项目 → 菜单:发行 → 原生 App - 云打包
2.平台选 iOS
3.上传:
1...p12 文件 + 导出时设置的密码
2...mobileprovision 文件
4.点击打包,等待完成后下载 .ipa 即可

6、安装到 iPhone 测试(Ad Hoc 包)
1.手机连电脑,解锁并信任此电脑
2.开心上架 → 安装 IPA → 选刚签好的 IPA
3.手机:设置 → 通用 → VPN 与设备管理 → 信任对应证书
4.桌面出现图标,打开测试即可
二、iOS真机调试
1、打包自定义基座
2、HBuilderX 运行到 iOS 真机
1.数据线(typeC+usb数据线)连接手机和设备,确保爱思助手能识别。
2.HBuilderX 菜单:运行 → 运行到手机或模拟器 → 运行到 iOS App 基座。
备注:
1、修改nfc会改动manifest.json,必须要先制作自定义调试基座(自定义包含iOS能力打进ipa文件(entitlement),比方说nfc,但直接运行不包含),而不是直接运行到基座,自定义基座制作需要排队打包,平均一次20分钟,高峰期打了1.5小时
三、iOS上架
1、申请备案号
App名称: ESL
App语言: 英语/中文/阿拉伯语/捷克语/德语/西班牙语/波斯语/法语/印地语/意大利语/希伯来语/日语/韩语/波兰语/葡萄牙语/俄语/乌克兰语/中文繁体(默认英语)
备注:ESL is an electronic shelf label management software designed for stores and supermarkets. It supports label binding, as well as product and template management via mobile Bluetooth, NFC and code scanning. It replaces handwritten price tags and traditional paper signs, enabling unified deployment and efficient operation and maintenance of electronic shelf labels.
BundleID: com.esl.app
公钥256:A9 2C B2 87 6A ED 1D 53 AE AF D8 7D FD 14 F2 C4 84 43 D3 04 70 1E BF A6 46 7D 75 CA 81 01 BD E6 F0
SHA-1指纹:67 42 4A
内容分类:工业互联网软件/工业研发设计 工为互联网软件/生产管理
App全部后台服务域名: eslontime.com

2、上传.ipa包到后台(https://appstoreconnect.apple.com/apps)构建版本


每次上传需要使应用版本号大于苹果后台最大版本
3、参照其他APP填写信息,并发布

备注:
1、禁用使用广告标识
云打包默认注入了 IDFA / 广告相关配置
uni-app 官方文档说明:在 manifest 中勾选 「使用广告标识(IDFA)」 后,云打包会自动写入 NSUserTrackingUsageDescription 和 DCLOUD_AD_ID。

