tmerclub-doc/app离线打包/IOS 打包文档.md
2025-03-19 15:04:57 +08:00

179 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Mall4j 商城 IOS 打包文档
文档源自 [uniapp 官方离线打包文档](https://nativesupport.dcloud.net.cn/AppDocs/),如有出入以官网文档为准
### 准备工作
[苹果开发者平台](https://developer.apple.com/) 账号需要加入苹果开发计划创建App申请证书描述文件等
注册Dcloud账号登录后台创建应用并申请离线打包 [Appkey](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/appkey)
### 开发环境
macOS Monterey 及以上 (可用虚拟机)
Xcode 13 及以上版本
HbulidX
App离线SDK下载 [最新iOS平台SDK下载](https://nativesupport.dcloud.net.cn/AppDocs/download/ios)
### SDK目录说明
```
|-- HBuilder-Hello 给用户打uni-app项目的离线打包工程
|-- Feature-iOS.xls 配置表(依赖的库、资源文件、参数配置等)
|-- SDK 工程需要的库文件,.h头文件配置文件资源文件
```
- 详细说明:[App离线SDK内不同文件的作用](https://nativesupport.dcloud.net.cn/AppDocs/usesdk/iOSReadMe)
### 配置工程
下载离线SDK压缩包解压用 Xcode 打开 HBuilder-Hello 项目
#### 配置Appkey
打开 HBuilder-Hello -> Supporting Files -> HBuilder-Hello-Info找到 dcloud_appkey填入appKey
![](../img/app打包/ios/配置appkey.png)
#### 生成本地打包app资源
用 HbulidX 打开项目,选择菜单 发行 -> 原生App-本地打包 -> 生成本地打包App资源
或执行命令 npm run build:app-ios 编译
![](../img/app打包/ios/生成本地打包app资源.png)
#### 导入打包资源到xcode
把生成好的本地打包app资源复制到 xcode 项目目录下的 Pandora -> apps 路径下,替换掉原来的
![](../img/app打包/ios/导入本地打包app资源.png)
#### 修改 control.xml 文件
打开 Xcode 工程Supporting Files -> control.xml文件修改 appid 值改成和manifest.json里面的id一样
![](../img/app打包/ios/修改control文件appid.png)
#### 修改应用信息
按图示箭头从左往右依次点击 HBuilder-Hello -> TARGETS 下的 HBuilder
在General下修改应用名称、包名、版本名称、版本号
Display Name是app名称
Bundle Identifier为苹果的AppID
Version为应用版本号在App Store中显示的版本号推荐与manifest.json中version下的name值一致
Build为编译版本号App Store判断升级使用推荐与manifest.json中version下的code值一致。
![](../img/app打包/ios/配置版本信息.png)
##### **修改app名称**
即使修改了Display Name打包后的app名称依然是"Hbuilder你好";需要改一下 InfoPlist.strings 下面的 CFBundleDisplayName 为应用名字InfoPlist.strings(English)为英文系统应用名Simplified为中文简体系统应用名
![](../img/app打包/ios/配置应用名称.png)
##### **修改app图标**
按图示箭头从左往右依次点击 HBuilder-Hello -> TARGETS 下的 HBuilder
在General下 找到 App Icons and Launch Images 点击小箭头
![](../img/app打包/ios/配置app图标1.png)
在 HBuilderX 中打开 mainfest.json在 App图标配置中 使用自动生成图标功能,然后把生成的图标拖动到 xcode 中 Images 对应的每个大小的位置中 即可完成配置
![](../img/app打包/ios/配置app图标2.png)
##### **配置应用签名**
配置 xcode 自动签名:
打开 xcode 配置,切换到 Account 选项,添加已完成签名申请的苹果开发者账号
![](../img/app打包/ios/xcode配置自动签名.png)
如图示打开 Signing & CapaBilities勾选 "Automatically manage signing",选择一下 Team(如果没有的话,创建一个)填一下Bundle Identifier
![](../img/app打包/ios/签名配置.png)
签名常见错误1
![](../img/app打包/ios/签名错误1.png)
切换到选择卡“Build Settings” 搜索签名 “Signing”
然后在列出的代码签名标识中把值设置为 “Apple Development”
签名常见错误2
![](../img/app打包/ios/签名错误2.png)
切换到选择卡“Build Settings” 搜索签名 “ Provision”(快捷键command+delete)删除User-Defined下面的PROVISIONING_PROFILE
### 第三方模块配置
项目目前使用到模块/第三方SDK包含 定位、微信支付、支付宝支付、视频播放。
具体配置方法可参考uniapp官网 [模块/三方SDK配置介绍](https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/common)
### 打包上传
点击 Xcode 中部项目名称,设置编译配置,选择 Any iOS Device (arm64, armv7)
![](../img/app打包/ios/打包配置.png)
点击 Product 菜单Archive 选项
![](../img/app打包/ios/打包上传1.png)
待编译完成后会自动弹出 Archives ,点击 右上角 Distribute App ,准备上传
Archives 弹窗可通过 Window -> Organizer 菜单打开
![](../img/app打包/ios/打包上传2.png)
后续的弹窗一路 next ,最后签名完毕后点击 upload 上传
![](../img/app打包/ios/打包上传4.png)