Jett
Jett
  • 发布:2026-03-13 16:47
  • 更新:2026-03-13 16:48
  • 阅读:23

【报Bug】UTSiOS.getResourcePath 云打包后路径失效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macos

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: iOS

手机系统版本号: iOS 18

手机厂商: 苹果

手机机型: iPhone15

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

UTSiOS.getResourcePath("/static/images/rtc/calling/rtc-6.png")

操作步骤:

发布到生产环境getResourcePath拿不到文件

预期结果:

getResourcePath 生产环境拿到正确的路径

实际结果:

发布到生产环境getResourcePath拿不到文件

bug描述:

UTSiOS.getResourcePath("/static/images/rtc/calling/rtc-1.png")

本地开发自定义基座文件没问题,发布生产包后路径失效(上传到 testflight)

2026-03-13 16:47 负责人:无 分享
已邀请:
Jett

Jett (作者)

https://ask.dcloud.net.cn/question/199453

这个 bug

Ask小助手

Ask小助手

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

作为DCloud官方人员,对该bug反馈评审如下:

1. 反馈内容完整性分析

基本信息:反馈包含了必要的分类信息(HBuilderX 4.87、iOS 18、iPhone15、Vue3),版本信息明确。

问题描述:描述了UTSiOS.getResourcePath在本地自定义基座正常,但云打包生产环境(TestFlight)失效的现象。但缺少关键细节:

  • 未提供具体的错误日志或控制台输出
  • 未说明"路径失效"的具体表现(返回空字符串?返回错误路径?还是文件读取时报错?)
  • 未提供返回的路径值示例,无法判断是路径格式问题还是资源未打包问题

代码示例:提供的代码示例过于简单,仅为单行调用UTSiOS.getResourcePath("/static/images/rtc/calling/rtc-6.png"),缺少:

  • 完整的上下文(是否在UTS插件中使用,还是在uvue页面直接调用)
  • 对返回路径的处理逻辑(如何使用该路径)
  • 条件编译或平台判断代码

复现步骤:描述过于笼统,仅"发布到生产环境getResourcePath拿不到文件",缺少:

  • 具体的打包方式(云端打包、自定义基座、还是本地离线打包)
  • 资源文件的存放位置确认(是否确实在static目录下)
  • 具体的测试代码片段

2. Bug是否成立分析

根据知识库检索结果,该问题可能是已知的行为差异,而非严格意义上的Bug

UTSAndroid.getResourcePath文档中明确说明:

"代码包文件"在真机运行云打包模式下的释放策略不同:

  • 本地真机运行:会被存在放内置储存目录
  • 云打包:uni-app x项目会被存放在asset目录

在对话知识库中,官方人员DCloud_App_Array也确认:

"是在真机运行和云打包的情况下获取的路径有差异,云打包后返回的是assets路径,需要你的代码能兼容不同的路径。"

虽然知识库中UTSiOS.getResourcePath文档未明确详述iOS平台云打包与本地运行的路径差异机制,但参考Android平台的处理逻辑,iOS平台很可能存在类似的机制差异

此外,在ISSUE系统知识库中,存在类似案例(Issue 18555):"本地测试没问题,但是生产打包后,不会执行",说明本地自定义基座与云打包生产包在资源处理上确实存在环境差异。

3. 概念问题检查

平台兼容性UTSiOS.getResourcePath在uni-app x iOS平台的兼容性要求是HBuilderX 4.11+,用户使用的4.87版本满足要求。

使用场景:需要注意UTSiOS对象通常需要在UTS插件或特定平台代码中使用。如果用户在uvue页面直接调用,需要确认是否在合适的上下文环境中。

4. 处理建议

建议该反馈补充以下信息后重新评估:

  1. 补充日志信息:提供云打包后getResourcePath返回的具体路径字符串,以及后续使用路径时的错误日志

  2. 确认资源打包:检查云打包后的应用包内是否确实包含该资源文件(可通过生成本地资源包检查)

  3. 路径兼容性处理:参考Android的处理方式,检查是否需要针对云打包后的路径格式(可能是bundle资源路径或沙盒路径)做特殊处理

  4. 提供复现Demo:建议提供一个包含static资源和调用代码的最小化示例项目,以便官方验证

如确认是iOS平台云打包与本地运行路径不一致导致,建议归类为平台特性差异文档待完善,而非功能Bug。

状态建议:暂不确认为Bug,等待用户补充详细日志和复现Demo后进一步判定。

内容为 AI 生成,仅供参考

要回复问题请先登录注册