跳到主要内容
本页目录

uniapp2xcode 命令参考

把 HBuilderX 的 uni-app 工程和 DCloud iOS 离线 SDK 导出成 Xcode 工程,之后用 kxbuild 本地编译、调试和打包。

用法 uniapp2xcode --project <uni-app 工程> --sdk <iOS 离线 SDK> --output <输出目录> [参数]。uniapp2xcode 是与 kxbuild 一起安装的独立程序,没有子命令。从开发到上架的完整流程见 uni-app 技术栈页。

参数

参数说明
-p, --project DIRHBuilderX 的 uni-app 工程目录,含 manifest.json,必填
--sdk DIRDCloud iOS 离线 SDK 根目录,含 HBuilder-Hello/、SDK/ 和 uniapp.podspec(HBuilderX 5.13 起的 SDK),必填,从 iOS 离线 SDK 下载页下载
-o, --output DIR生成的 Xcode 工程目录,必填
--clean先清空输出目录再导出
--dcloud-appkey KEYDCloud 的 App Key,必填,没有它 App 启动时会报 AppKey 错误。在 dev.dcloud.net.cn 按 Bundle ID 申请,也可以写在 nativeResources/ios/Info.plist 的 dcloud_appkey 中
--bundle-id IDBundle ID,nativeResources/ios/Info.plist 中没有时必填
--display-name NAME主屏幕上显示的 App 名
--version-name / --version-code覆盖 manifest.json 中的版本号和构建号
--team-id ID写入工程的开发团队 ID
--hbx DIRHBuilderX 安装目录,不填自动查找
--skip-build不重新编译页面,直接用已有的编译结果
--force-build已有编译结果也重新编译页面
--version打印版本

导出

导出时会调用 HBuilderX 编译页面,再和 SDK 一起生成 Xcode 工程,manifest.json 里勾选的模块用 CocoaPods 装好。应用名称、版本、图标、权限描述取自 manifest.json,额外的 Info.plist 项写进 uni-app 工程的 nativeResources/ios/Info.plist,每次导出都会应用。生成的工程是输出目录下的 HBuilder-Hello\HBuilder-Hello.xcworkspace。

当前 SDK 里没有或链接不了的模块会跳过并在导出结束时列出,例如 5.26 版 SDK 的实人认证。模块也可以导出后在 HBuilder-Hello\Podfile 的 uniapp_subspecs 里增减,再在该目录运行 pod install。

> uniapp2xcode --project D:\work\myuniapp --sdk D:\sdk\HBuilder-iOS-SDK --output D:\work\myuniapp-ios --bundle-id com.example.myapp --dcloud-appkey 你的AppKey --clean

在 HBuilderX 中改完页面代码后,重新运行同一条命令,改动才会进入 iOS 工程。

导出之后

输出目录中的 .xcworkspace 就是普通的 iOS 工程,先体检,再编译或在 VS Code 中调试。

> kxbuild doctor D:\work\myuniapp-ios\HBuilder-Hello\HBuilder-Hello.xcworkspace
> kxbuild build D:\work\myuniapp-ios\HBuilder-Hello\HBuilder-Hello.xcworkspace -s HBuilder -c Release

接下来