uni-app uni.previewImage 在IOS 18.2下预览应用闪退

uni-app uni.previewImage 在IOS 18.2下预览应用闪退

示例代码:

uni.previewImage({ current:’’, urls: [’’] });


## 操作步骤:


uni.previewImage({
current:'',
urls: ['']
});

预期结果:

无闪退。

实际结果:

应用闪退

bug描述:

uni.previewImage({ current:’’, urls: [’’] });

预览图片为空的情况下,ios 18.2应用闪退,安卓正常


| 信息类别       | 信息内容                                         |
|----------------|--------------------------------------------------|
| 产品分类       | uniapp/App                                       |
| PC开发环境     | Mac                                              |
| PC版本号       | 15.1                                             |
| 手机系统       | iOS                                              |
| 手机系统版本号  | iOS 18                                           |
| 手机厂商       | 苹果                                             |
| 手机机型       | 12                                               |
| 页面类型       | vue                                              |
| vue版本        | vue3                                             |
| 打包方式       | 云端                                             |
| 项目创建方式   | CLI                                              |
| CLI版本号      | 3.0.0-4020920240930001                           |

更多关于uni-app uni.previewImage 在IOS 18.2下预览应用闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uni.previewImage 在IOS 18.2下预览应用闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个iOS 18.2系统下uni.previewImage API的兼容性问题。当传入空字符串作为current或urls参数时,iOS原生层处理异常导致闪退。

建议解决方案:

  1. 在使用previewImage前进行参数校验:
if(!urls || urls.length === 0) {
    return
}
  1. 确保current参数是urls数组中的有效值:
const validUrls = urls.filter(url => !!url)
uni.previewImage({
    current: validUrls[0] || '',
    urls: validUrls
})
回到顶部