5***@qq.com
5***@qq.com
  • 发布:2026-07-21 16:19
  • 更新:2026-07-21 16:21
  • 阅读:204

集成内置模块DCloudUTSExtAPI的问题

分类:uni-app x

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

我的manifest.json文件

{  
  "id": "__UNI__**********",  
  "name": "****",  
  "description": "",  
  "version": {  
    "name": "1.0.0",  
    "code": "100"  
  },  
  "uni-app-x": {  
    "styleIsolationVersion": "2",  
    "compilerVersion": "5.15"  
  },  
  "app-ios": {  
    "distribute": {  
      "modules": {  
        "uni-barcode-scanning": {},  
        "uni-push": {},  
        "uni-prompt": {},  
        "uni-scanCode": {},  
        "uni-network": {},  
        "uni-clipboard": {},  
        "uni-getSystemInfo": {},  
        "uni-getAppAuthorizeSetting": {},  
        "uni-storage": {},  
        "uni-getDeviceInfo": {},  
        "uni-getAppBaseInfo": {},  
        "uni-websocket": {},  
        "uni-showLoading": {},  
        "uni-web-view": {},  
        "uni-fileSystemManager": {}  
      },  
      "icons": {},  
      "splashScreens": {}  
    },  
    "infoPlist": {  
      "NSUserNotificationUsageDescription": "需要通知权限用于接收消息推送"  
    }  
  }  
}

按照文档说明:
Target -> General -> Minimum Deployments 选择 13.0

Target -> Build Settings -> Mach-O Type 设置为Dynamic Library

Target -> Build Settings -> Other Linker Flags 中添加-ObjC, 字母o和c大写

Target -> Build Settings -> Enable Module Verifier 设置为NO

Target -> Build Settings -> Build Libraries for Distribution 设置为YES

Target -> Build Settings -> Framework Search Paths 中添加SDK的Libs目录(操作方法:双击展开Framework Search Paths将SDK/Libs文件夹拖入即可)

对应模块进行依赖
源文件


依赖库

pod

源文件和依赖库均参考文档说明,按照manifest.json文件中的模块进行导入和依赖

AI还提示我检查源文件是否导入的验证方式

能够正常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

我一步一步都是按照文档来的,实在搞不清楚是哪里出问题了。尝试在ui-im群里咨询了,ai回复的,也没有什么按照提供的方式排查也都是正常的,但就还是会有问题。

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

官方后续SDK中最好能有DCloudUTSExtAPI.xcframework的示例工程,才好方便对比差异,或者直接在示例工程上进行裁剪或者增加。

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

Ask小助手 - Ask社区AI助手

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

这种设计在 iOS 原生工程中是合理的。在 Swift 开发中,Framework 内部的源文件 import 自身模块名(如 import DCloudUTSExtAPI)是为了显式声明对该模块公共接口或类型的依赖。虽然看起来像循环依赖,但 Swift 编译器能够正确处理这种情况,这在复杂的模块化工程或源文件跨 target 复用时是常见的做法。因此,源文件中存在 import DCloudUTSExtAPI 并不是导致编译失败的根本原因。

根据知识库记录,使用 HBuilderX 5.15 及对应 SDK 制作 DCloudUTSExtAPI 时,真正导致编译报错的原因通常是文档与 SDK 包内容不匹配或环境问题:

  1. 文件缺失或名称变更:有开发者在使用与你完全相同的环境(macmini M2, HBuilderX 5.15, Xcode 26.6, SDK UniAppX-iOS@5.15)时反馈,文档要求的 UTSOC.hUTSOC.mmuni-form-index.swift 等文件在下载的 SDK ExtApiSrc 目录下缺失或名称已变更(如变为 uni-form-dom1-index.swift)。这会导致编译时找不到依赖而报错。详见 ask 社区 220937ISSUE 27553
  2. Xcode 版本不匹配:如果 Xcode 版本低于 SDK 编译时使用的版本,会报 Swift 版本不匹配的错误。详见 ISSUE 24338

建议排查步骤:

  1. 核对 SDK 文件:重新下载 SDK,仔细核对 SDK/ExtApiSrc 目录下的文件是否与官方文档完全一致。如果确认缺失文件,说明 SDK 包可能不完整或版本同步存在问题。
  2. 检查依赖配置:确保在制作 DCloudUTSExtAPI 工程时,添加的依赖库均设置为 Do Not Embed;而在主工程集成导出的 DCloudUTSExtAPI.xcframework 时,需设置为 Embed & Sign
  3. 提交 issue:如果确认文件缺失且无法通过重新下载解决,建议前往 DCloud 官方 issue 系统提交问题:https://issues.dcloud.net.cn/ ,并附上复现工程和完整报错日志。
内容为 AI 生成,仅供参考

要回复问题请先登录注册