uni-app iOS 18 无所有图片

发布于 1周前 作者 caililin 来自 Uni-App

uni-app iOS 18 无所有图片

操作步骤:

  • 使用 系统版本 大于iOS 18 的手机 选择图片

预期结果:

  • 显示相册 所有图片 或最近项目

实际结果:

  • 无所有图片 或最近项目

bug描述:

  • iOS18,照片选择无法默认选择所有图片 没有 所有照片,或最近项目 的选项

| 信息类别         | 信息内容     |
|------------------|--------------|
| 产品分类         | uniapp/App   |
| PC开发环境操作系统 | Mac          |
| PC开发环境操作系统版本号 | Retina, 13-inch, 2020 |
| 手机系统         | iOS          |
| 手机系统版本号    | iOS 18       |
| 手机厂商         | 苹果         |
| 手机机型         | iphone16     |
| 页面类型         | vue          |
| vue版本          | vue2         |
| 打包方式         | 离线         |
| 项目创建方式     | CLI          |
| CLI版本号        | 3            |

6 回复

仅Xcode16编译出的ipa在iOS18系统上有上述问题 临时可以先使用Xcode15出包,我们将尽快更新相关SDK


什么时候更新这个问题

非iphone16 设备正常么

ios18+不行 ios18以下 是正常的

只要升到系统到ios18以上就不行

在处理 uni-app 在 iOS 18 上无法显示所有图片的问题时,首先需要确保图片资源的正确加载和适配。以下是一些可能的解决方案和代码示例,帮助你排查和修复这个问题。

1. 检查图片路径

确保图片路径正确无误,特别是相对路径和绝对路径的使用。在 uni-app 中,你可以使用静态资源路径或者网络图片路径。

<!-- 静态资源 -->
<image src="/static/images/logo.png"></image>

<!-- 网络图片 -->
<image src="https://example.com/images/logo.png"></image>

2. 使用条件编译

针对 iOS 18 的特定问题,可以使用条件编译来适配不同的系统版本。虽然 uni-app 没有直接针对 iOS 18 的条件编译标签,但你可以通过平台判断来间接实现。

// 在页面脚本中判断平台
if (uni.getSystemInfoSync().platform === 'ios') {
  // 执行针对 iOS 的特定逻辑
}

3. 图片加载失败处理

为图片组件添加 @error 事件处理器,以便在图片加载失败时执行相应的操作,比如显示占位图或重试加载。

<image
  src="https://example.com/images/logo.png"
  @error="handleError"
  style="width: 100px; height: 100px;"
></image>

<script>
export default {
  methods: {
    handleError(e) {
      console.error('图片加载失败', e);
      // 显示占位图或重试加载逻辑
      e.currentTarget.src = '/static/images/placeholder.png';
    },
  },
};
</script>

4. 使用 Base64 编码图片

如果图片资源较小,可以考虑将图片转换为 Base64 编码,直接嵌入代码中,这样可以避免路径问题。

<image src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."></image>

注意:Base64 编码会使图片体积增大约 33%,因此仅适用于小图片。

5. 检查 iOS 权限设置

确保 iOS 应用有权限访问网络资源或本地存储的图片。在 manifest.json 中配置必要的权限,并在 iOS 项目设置中检查相关权限设置。

6. 更新依赖和工具链

确保 uni-app CLI、HBuilderX 以及相关依赖库都是最新版本,以兼容最新的 iOS 系统。

通过以上方法,你应该能够定位并解决 uni-app 在 iOS 18 上无法显示图片的问题。如果问题依然存在,建议检查具体的错误日志或联系 uni-app 社区获取更专业的帮助。

回到顶部