5***@qq.com
5***@qq.com
  • 发布:2026-07-20 16:53
  • 更新:2026-07-27 17:13
  • 阅读:454

uni-appx项目IOS离线打包集成内置模块按照官方文档走不通

分类:uni-app x

求救!!有没有哪位大牛通过官方文档的指导下完成离线打包?

我的电脑是
macmini M2版本 MACOS 版本26.0
HBuilderX5.15
xcode26.3
SDK(UniAppX-iOS@5.15)
我按照官方文档下载了SDK,然后按照官方文档说明:uni-app x 原生SDK iOS版进行配置,制作DCloudUTSExtAPI.xcframework(集成内置模块)

必须的配置都按照文档进行配置
由于我的manifest.json文件包含的模块名称"modules": {
"uni-barcode-scanning": {},
"uni-push": {}
},
额外配置了
=======uni-push:

uni-push-index.swift

GTCommonSDK.xcframework
GTSDK.xcframework
ZXSDK.framework

c
resolv
z
sqlite3
MobileCoreServices
Security
SystemConfiguration
CoreTelephony
AVFoundation
UserNotifications
AdSupport
===============

====uni-barcode-scanning(4.71 )(依赖uni-camera) :

uni-barcode-scanning-index.swift
uni-barcode-scanning-Scanner.swift

pod 'GoogleMLKit/BarcodeScanning', '~> 6.0.0'
=========================================

=======uni-camera(4.61 ) (依赖uni-media) :
uni-camera-index.swift
uni-camera-CameraImpl.swift
uni-camera-CameraManager.swift
===================================

============uni-media:

uni-media-index.swift
uni-media-utils-UniChooseFileManager.swift(4.61 )

DCloudMediaPicker.xcframework

AssetsLibrary
Photos
AVFoundation
CoreServices
CoreFoundation
CoreGraphics
CoreImage
GLKit
MetalKit
MobileCoreServices
QuartzCore
ImageIO
MediaPlayer
CoreText
=====================

文档是不是太久没有更新了?
问题一:“将以下源文件(SDK/ExtApiSrc 目录下)、依赖库(SDK/Libs 目录下)添加到DCloudUTSExtAPI工程中,并将依赖库均设置为Do Not Embed”
将以下源文件(SDK/ExtApiSrc 目录下)添加到DCloudUTSExtAPI工程中,是到根目录吗?

源文件第一、二个UTSOC.h和UTSOC.mm在下载的SDK/ExtApiSrc 目录下没有了?

uni-form-index.swift在下载的SDK/ExtApiSrc 目录下也没有了,换成uni-form-dom1-index.swift?

问题二:
完成以上配置后,选择构建目标(Any iOS Device/Any iOS Simulator Device),在菜单栏中,选择Product -> Build(或使用快捷键Command B),编译一堆报错!!!!,太难了吧!

众多报错中,我又看到一个奇葩的,文档要求导入的源文件:uni-actionSheet-index.swift、uni-rpx2px-index.swift、uni-barcode-scanning-index.swift、uni-camera-index.swift、uni-media-index.swift、uni-modal-index.swift、它们居然import DCloudUTSExtAPI!!
可是现在不就是在指导我制作DCloudUTSExtAPI. Framework吗?这合理吗?

2026-07-20 16:53 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app x技术交流群 ) 咨询,群中有相关专业的管理员和群友。

针对您在 uni-app x iOS 离线打包过程中遇到的问题,以下是基于官方文档和社区反馈的排查建议:

问题一:源文件缺失与文档不一致

根据 ISSUE 系统 (https://issues.dcloud.net.cn/pages/issues/detail?id=27553) 和 ask 社区 (https://ask.dcloud.net.cn/question/218851) 的记录,关于 SDK/ExtApiSrc 目录下缺少 UTSOC.hUTSOC.mm 等源文件的问题,官方曾在 5.04 版本回复已处理并更新了 SDK。

如果您在 HBuilderX 5.15 版本中仍然遇到此问题,请按以下步骤排查:

  1. 确认 SDK 版本:确保下载的 UniAppX-iOS SDK 版本与 HBuilderX 版本完全一致(5.15)。
  2. 重新下载 SDK:尝试重新下载 SDK 包,检查文件是否完整。
  3. 以官方文档清单为准:请严格对照官方文档 配置基础模块 中列出的源文件清单。文档中并未包含 uni-form-index.swiftuni-form-dom1-index.swift,请勿添加非文档要求的文件。
  4. 提交 Issue:如果确认 SDK 中确实缺失文档列出的必要文件,建议在 DCloud ISSUE 系统 提交问题,附上 SDK 版本、HBuilderX 版本和缺失的文件列表。

问题二:编译报错

编译报错通常是由于基础模块配置不完整、依赖库设置错误或模块间依赖未正确处理导致。请逐一检查以下配置:

  1. 基础模块配置

    • 确保基础模块的所有源文件和依赖库已正确添加到 DCloudUTSExtAPI 工程中。
    • 确保依赖库均设置为 Do Not Embed
  2. 集成基础模块

    • 在主工程中集成基础模块时,依赖库如 DCloudUTSFoundation.xcframeworkDCloudUniappRuntime.xcframework 等需设置为 Embed & Sign
    • 具体配置请参考 集成基础模块
  3. 可选模块配置

    • 您配置了 uni-pushuni-barcode-scanninguni-camerauni-media 等模块,请确保这些模块的源文件、依赖库和系统依赖库都已按照 配置其他模块 文档正确添加。
    • 注意模块间的依赖关系,例如 uni-barcode-scanning 依赖 uni-camerauni-camera 依赖 uni-media,需确保依赖的模块也已完整配置。
  4. 查看具体编译错误

    • 建议查看 Xcode 编译日志中的具体错误信息(如缺少某个文件、某个符号未定义、某个模块找不到等),这有助于更准确地定位问题。如果基础模块源文件缺失,必然会导致编译失败,因此需要先解决问题一。

环境兼容性说明

您使用的是 Xcode 26.6 和 macOS 26.0,需确认 uni-app x iOS SDK 是否已适配该版本环境。如果 SDK 编译环境与您的 Xcode 版本差异过大,可能导致编译错误。建议关注官方文档或 ISSUE 系统中关于环境适配的说明。

内容为 AI 生成,仅供参考
空白人吗

空白人吗 - 7年开发经验 可接APP 小程序 网页 后端 vx:wu1020yt

手动打包很麻烦,我自己做了个脚本,自动打包 离线包

5***@qq.com

5***@qq.com (作者)

众多报错中,我又看到一个奇葩的,文档要求导入的源文件:uni-actionSheet-index.swift、uni-rpx2px-index.swift、uni-barcode-scanning-index.swift、uni-camera-index.swift、uni-media-index.swift、uni-modal-index.swift、它们居然import DCloudUTSExtAPI!!
可是现在不就是在指导我制作DCloudUTSExtAPI. Framework吗?这合理吗?

DCloud_iOS_ZFL

DCloud_iOS_ZFL

  1. 请参考 https://doc.dcloud.net.cn/uni-app-x/native/use/iosuts.html 中的注意事项:(注意查看最新原生sdk)
注意: uts-config.json、UTSOC.h、UTSOC.m 文件,既存在SDK/ExtApiSrc/目录中, 也可以在 SDK/UTSPluginExample/unimoduleUtsWorker/unimoduleUtsWorker/ 中获取, SDK/UTSPluginExample/ 目录中是已经构建好的uts原生插件工程, 该文件在不同版本的sdk中是通用的
  1. 目前文档是非蒸汽模式原生sdk,uni-form-index.swift 的确升级成了 uni-form-dom1-index.swift, 已更新文档
  • 5***@qq.com (作者)

    文档我注意到更新了,关于文档缺失的问题,我现在已经能够正常build xcframework了,但是主项目添加依赖后构建好的xcframework后,还是会出现报错:

    真机:

    dyld[1272]: Library not loaded: @rpath/FBLPromises.framework/FBLPromises

    Referenced from: <7F811070-0022-3694-A212-79D6A5E8F1A3> /private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/DCloudUTSExtAPI.framework/DCloudUTSExtAPI

    Reason: tried: '/usr/lib/swift/FBLPromises.framework/FBLPromises' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/DCloudUTSExtAPI.framework/Frameworks/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/Frameworks/FBLPromises.framework/FBLPromises' (no such file), '/usr/lib/swift/FBLPromises.framework/FBLPromises' (no such file, not in dyld cache), '/private/preboot/Cryptexes/OS/usr/lib/swift/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/FBLPromises.framework/FBLPromises' (no such file), '/private/var/containers/Bundle/Application/667D94E3-3FAA-4E27-8C69-CDB18A2052F4/WiseIDC.app/Frameworks/FBLPromises.framework/FBLPromises' (no such file)

    模拟器:

    UniCore#layout#buildId:d5b5de5581d2546064e550eb3e804dd3802d5168

    feature not found: uni-getSystemInfo

    [ERROR] : CSS_VAR_STATUS_BAR_HEIGHT init fail

    Presenting view controller <DCloudUniappRuntime.UniAppRootViewController: 0x10345b730> from detached view controller <ViewController: 0x105828400> is not supported, and may result in incorrect safe area insets and a corrupt root presentation. Make sure <ViewController: 0x105828400> is in the view controller hierarchy before presenting from it. Will become a hard exception in a future release.

    [LOG] : App Launch at App.uvue:9

    feature not found: uni-getSystemInfo

    feature not found: UTS-Storage

    [ERROR] :

    [LOG] : App Show at App.uvue:14

    feature not found: uni-theme

    feature not found: uni-getAppBaseInfo

    [ERROR] :

    Detected the current OS's ImageIO PNG Decoder is buggy on indexed color PNG. Perform workaround solution...

    feature not found: uni-getAppBaseInfo

    [ERROR] :

    feature not found: UTS-Storage

    [ERROR] :

    feature not found: UTS-Storage

    [ERROR] :

    <uni-app>[warn]UniImageComponent.swift:440, image src is empty

    我一步一步都是按照文档来的,实在搞不清楚是哪里出问题了。

    后面我是用的SDK中的DCloudUTSExtAPI.xcframework,项目正常运行、打包了,但是包大小比我依赖自己集成的DCloudUTSExtAPI.xcframework要大一些。

    2026-08-04 17:57

  • 5***@qq.com (作者)

    后续SDK中能否有DCloudUTSExtAPI.xcframework的示例工程?方便对比差异。

    2026-08-04 17:58

要回复问题请先登录注册