简体中文
HBuilder X 中导出资源文件,根据资源内容,配置原生主工程环境,添加基础模块需要的依赖库以及资源文件manifest.json文件中包含的模块,制作DCloudUTSExtAPI.xcframework,并将其添加到原生主工程中,详见集成内置模块manifest.json文件中包含的模块,向原生主工程添加工程配置以及内置模块需要的资源文件等,详见集成内置模块uni_modules文件夹中包含的UTS插件,制作对应的原生xcframework,并将其添加到原生主工程(付费购买的uts插件不支持原生工程接入),详见制作UTS插件打开 HBuilder X -> 发行 -> 原生App-本地打包 -> 生成本地打包App资源 勾选iOS点击生成

导出成功之后会在项目的unpackage/resources目录下生成资源文件

在原生工程根目录创建文件夹uni-app-x/apps,将 app-ios 目录下与appid对应的目录拷贝到该目录下,然后打开工程将uni-app-x文件夹拖入到Target -> Build Phases -> Copy Bundle Resources下, 勾选Copy Items if needed以及Create folder references

Target -> General -> Minimum Deployments 选择 12.0
Target -> Build Settings -> Other Linker Flags 中添加-ObjC、-ld_classic、-weak_framework SwiftUI
根目录下包含Info.plist文件,需要将该文件内容拷贝到原生主工程的Target -> Info 下Target -> Info 下,添加如下配置<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>UIFileSharingEnabled</key>
<true/>
<key>uniapp-x</key>
<dict>
<key>appid</key>
<string>应用的appid</string>
<key>ipatype</key>
<integer>2</integer> //1自定义基座 2正式包
<key>uniRuntimeVersion</key>
<string>SDK版本号</string>
<key>unionid</key>
<string>广告联盟id,如未开通uniad可不填</string>
<key>channel</key>
<string>appstore</string>
<key>initPrivacyAuthorization</key>
<true/>
</dict>
</dict>

| 参数 | 描述 |
|---|---|
| appid | 应用的appid,必须与manifest.json中appid值一致 |
| ipatype | 1-自定义基座(在HBuilderX调试时设置该值),2-正式包(打release包时设置该值) |
| uniRuntimeVersion | SDK版本号(必须与HBuilderX版本一致) |
| unionid | 广告联盟id,如未开通uniad可不配置此key |
| channel | 打包渠道,可根据需求自行更改 |
| initPrivacyAuthorization | 是否启动默认同意隐私政策 |
将以下依赖库(SDK/Libs 目录下)添加到工程中
| 依赖库 | 系统依赖库 |
|---|---|
DCloudDebugServe.xcframework (Do Not Embed)Debug环境下集成) DCloudUTSFoundation.xcframework (Embed & Sign) DCloudUniappRuntime.xcframework (Embed & Sign) SDWebImage.xcframework (Embed & Sign) DCloudUTSExtAPI.xcframework (Embed & Sign) KSCrash.xcframework (Embed & Sign) | JavaScriptCore.framework c++ |
Target -> Build Phases -> Link Binary With Libraries下添加依赖库Target -> General -> Frameworks,Libraries,and Embedded Content下设置Embed & SignDCloudUTSExtAPI.xcframework如何获取详见集成内置模块
根据集成内置模块制作DCloudUTSExtAPI以及向主工程添加相关配置
根据集成UTS插件制作插件库以及向主工程添加相关配置
根据API文档在主工程编写代码完成接入