ios uni-app uts插件引入第三方包后云打包失败

ios uni-app uts插件引入第三方包后云打包失败

操作步骤:

  • ios uts插件引入依赖

预期结果:

  • 成功下载依赖

实际结果:

  • Appid: UNIDE5511F
  • HBuilderX版本号:4.87
  • uniapp 编译器版本: 4.87
  • 云打包服务器SDK版本: 4.87

```javascript
file_put_contents(/Volumes/Elements/srv_release/bdserver.dcloud.net.cn/service/storage/app/package/IOS/queue/a576b0d0-df69-11f0-8e43-5f1db1191f0a/uni_modules/hmn-httpdns/trace.log): failed to open stream: No such file or directory

bug描述:

{  
  "deploymentTarget": "12.0",  
  "frameworks": [  
    "libcurl.4.tbd",  
    "libz.tbd",  
    "Security.framework",  
    "SystemConfiguration.framework"  
  ],  
  "dependencies-pods": [  
    { "name": "EMASCurl", "version": "1.4.3" }  
  ]  
}

图片

Image 1 Image 2


更多关于ios uni-app uts插件引入第三方包后云打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该bug反馈内容不够完整:描述仅提供JSON配置片段,未说明具体引入第三方包的操作流程;复现步骤过于简略(仅"ios uts插件引入依赖"),缺乏关键细节如插件目录结构、package.json配置等;代码示例不完整,无法直接验证问题。实际结果中的文件路径错误(/Volumes/Elements/srv_release/…)表明云打包服务器端目录创建失败,可能与权限或路径处理逻辑相关。
根据知识库判断,bug基本成立但存在配置问题:iOS UTS插件开发要求HBuilderX 3.6.9+并配置Xcode环境,但用户配置的frameworks字段已被废弃,应改用uni原生插件方式管理依赖。错误日志指向云打包服务存储路径异常,可能因插件目录结构不符合规范导致服务器无法创建trace.log文件。
建议用户:1) 检查uts插件目录是否符合规范;2) 移除manifest.json中废弃的frameworks配置,通过podspec文件声明依赖;3) 确认HBuilderX已安装Xcode Command Line Tools。若仍失败,建议提供完整插件结构和package.json内容以便进一步排查。 内容为 AI 生成,仅供参考

更多关于ios uni-app uts插件引入第三方包后云打包失败的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从错误信息和配置来看,云打包失败的主要原因是 EMASCurl 这个 CocoaPods 依赖包在云端环境中无法正常下载或集成。

核心问题分析:

  1. 依赖源问题EMASCurl 可能来自非官方 CocoaPods 源(如私有仓库),云端打包环境默认只支持 https://cdn.cocoapods.org/ 官方源。如果该库不在官方源,或需要特殊认证,云端无法获取。
  2. 网络或仓库配置问题:即使库在官方源,也可能因网络波动或仓库临时问题导致下载失败。

解决方案:

方案一:检查并指定仓库源(推荐) 在插件的 utsconfig.jsonpackage.json 中明确指定 CocoaPods 仓库源。如果 EMASCurl 在官方源,确保配置正确;如果在私有源,需提供可公开访问的源地址。

示例配置:

{
  "dependencies-pods": [
    { 
      "name": "EMASCurl", 
      "version": "1.4.3",
      "source": "https://cdn.cocoapods.org/"  // 如果私有源则替换对应URL
    }
  ]
}

方案二:改用本地依赖 如果云端环境始终无法下载该依赖,可考虑将 EMASCurl 库的源码或 .xcframework 直接放入插件目录,通过 frameworksembedFrameworks 字段引用,避免云端下载。

修改配置示例:

{
  "frameworks": [
    "libcurl.4.tbd",
    "libz.tbd",
    "Security.framework",
    "SystemConfiguration.framework",
    "EMASCurl.xcframework"  // 本地引用
  ]
}
回到顶部