1***@163.com
1***@163.com
  • 发布:2025-11-25 14:47
  • 更新:2025-11-25 14:48
  • 阅读:35

Hbuilder 打包iOS 插件基座包 在Xcode使用pod 资源代码 打包失败 不使用打包基座没问题

分类:uni-app

1.在uniapp的package.json 中定义了第三方pod 内容

  1. {
    "name": "TestUniPlugin",
    "id": "DCTestUniPlugin",
    "version": "1.0.0",
    "description": "uni示例插件",
    "_dp_type": "nativeplugin",
    "_dp_nativeplugin": {
    "ios": {
    "plugins": [{
    "type": "module",
    "name": "DCTestUniPlugin-TestModule",
    "class": "TestModule"
    }],
    "dependencies": {
    "cocoapods": {
    "Masonry": "~> 1.1.0",
    "MJExtension": "~> 3.4.2",
    "GoogleMLKit/TextRecognition": "~> 2.6.0",
    "GoogleMLKit/TextRecognitionChinese": "~> 2.6.0"
    }
    },
    "integrateType": "framework"

    }  

    }
    }
    在这里面引用了谷歌的文字识别
    3.我Xcode pod 已经加载了这些第三方资源 正常使用 xcode 运行真机没问题 打包成插件 只要我调用了 GoogleMLKit/TextRecognitionChinese和GoogleMLKit/TextRecognition 这里面的内容 就会出现 \"_OBJCCLASS$_MLKTextRecognizer\", referenced from:
    objc-class-ref in DCTestUniPlugin(TestModule.o)
    \"_OBJCCLASS$_MLKTextRecognizerOptions\", referenced from:
    objc-class-ref in DCTestUniPlugin(TestModule.o)
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    4如何不使用第三方的资源的方法的 打包是没有问题问题的,
    想问下为什么会出现这个一个情况 当前项目使用了原生插件,如果原生插件依赖了三方库且三方库需要联网下载,可能会消耗较长时间,预计 3-30 分钟完成打包,请耐心等待。 这个第三方的资源uniapp 下载不下来吗

2025-11-25 14:47 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

您的问题是由于HBuilderX打包iOS插件时未能正确处理CocoaPods依赖导致的。当插件依赖如GoogleMLKit等第三方库时,HBuilderX云端打包环境需要完整下载并集成这些依赖,但可能出现以下情况:

  1. 网络问题:GoogleMLKit较大,云端打包时可能因网络不稳定导致下载不完整(即使提示"3-30分钟完成打包",也可能超时失败)
  2. 架构兼容问题:错误显示arm64架构找不到符号,说明依赖库可能未包含arm64架构支持
  3. 配置问题integrateType设为framework时,动态库需要特殊处理

解决方案:

  1. 确保HBuilderX使用最新正式版(4.85+),新版优化了CocoaPods依赖处理
  2. 修改插件配置,将integrateType改为staticLibrary
    "integrateType": "staticLibrary"

    静态库更稳定,避免动态库签名问题

  3. 在manifest.json的"App原生插件配置"中勾选"使用本地podfile",并上传包含Pods目录的完整插件包
  4. 检查控制台日志,确认CocoaPods安装是否成功(搜索"pod install")

参考文档:iOS云端打包环境配置

若仍失败,建议将插件转为uts插件实现,或使用插件市场已有的Google ML Kit封装插件。

内容为 AI 生成,仅供参考

要回复问题请先登录注册