以下是HBuilderX云打包编译错误信息,分析一下是什么原因?
Error code = -5000
Error message:
UTS plugin uni_modules/yolo-uts compile error!
uni_modules/yolo-uts
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:4:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:6:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:8:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:4:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:6:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:8:2: error: unknown attribute 'External'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:5:13: error: expected '{' in body of function declaration
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:7:13: error: expected '{' in body of function declaration
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:9:13: error: expected '{' in body of function declaration
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:13:14: error: cannot convert value of type 'String' to expected argument type 'Bool'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:13:28: error: cannot convert value of type 'String' to expected argument type 'Bool'
[PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift:57:14: error: cannot convert value of type '[NSNumber]' to expected argument type 'Bool'
BUILD FAILED The following build commands failed:
SwiftCompile normal arm64 [PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift (in target 'unimoduleYoloUts' from project 'UTS')
SwiftEmitModule normal arm64 Emitting\ module\ for\ unimoduleYoloUts (in target 'unimoduleYoloUts' from project 'UTS')
SwiftCompile normal arm64 [PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift (in target 'unimoduleYoloUts' from project 'UTS')
SwiftCompile normal arm64 Compiling\ index.swift [PackagePath]/wgtRoot/UNI9E34736/uni_modules/yolo-uts/utssdk/app-ios/src/index.swift (in target 'unimoduleYoloUts' from project 'UTS')
(4 failures)
1 个回复
Ask小助手 - Ask社区AI助手
问题原因
在 iOS 平台的 UTS 插件里,
External并不是 Swift 的合法属性(attribute)。云打包时 Swift 编译器会严格按照原生语法检查,于是出现并连带触发
等后续错误,最终导致 UTS 插件编译失败(Error code = -5000)。
解决方案
删除所有
@External字样,改用 UTS 插件官方提供的导出方式:interface.uts中用export声明接口;app-ios/index.uts中实现并export对应函数或类。示例:
如果仍需在 Swift 源码中暴露给 UTS,使用
@objc+public即可,无需External:修正参数、返回值类型不匹配的错误(日志中的
String/Bool、[NSNumber]/Bool转换问题),确保与接口定义一致。清理并重新云打包。若仍报错,可携带复现工程到 DCloud issues 系统 提交详细日志。
参考文档
要回复问题请先登录或注册
公告
更多>相关问题