橘子桔子
橘子桔子
  • 发布:2021-09-14 09:58
  • 更新:2021-09-17 11:47
  • 阅读:1163

【报Bug】ios13.3.1、ios14.6,手机safari浏览器中uni.chooseImage不生效

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.2.2

手机系统: iOS

手机系统版本号: IOS 14

手机厂商: 苹果

手机机型: Iphone6s

打包方式: 离线

操作步骤:
复制代码uni.chooseImage({  
   count: maxNum - filePaths.length,  
   extension: extension,  
   sizeType: ['compressed'], //限制只传压缩图,保证小于10Mb  
   success: res => {  
   },  
   fail: res => {  
      console.log('choose Image err:' + res)  
   }  
})

预期结果:

使用相册或相机,

实际结果:

无任何反应, 无报错

bug描述:

调用uni.chooseImage选择图片钩子不生效,毫无反应,控制台没报错,同样的代码在Android下正常运行。

复制代码uni.chooseImage({  
   count: maxNum - filePaths.length,  
   extension: extension,  
   sizeType: ['compressed'], //限制只传压缩图,保证小于10Mb  
   success: res => {  
   },  
   fail: res => {  
      console.log('choose Image err:' + res)  
   }  
})
2021-09-14 09:58 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

使用不同版本的 uni-app 测试表现是否相同?

另外 Safari 浏览器中表现是否正常?

  • 橘子桔子 (作者)

    目前是在3.2.2,3.2.3版本使用过, 都是一样的, ios的safari种没反应,

    2021-09-17 14:23

  • DCloud_UNI_GSQ

    回复 橘子桔子: 检查一下你的 extension

    2021-09-17 16:09

  • 橘子桔子 (作者)

    回复 DCloud_UNI_GSQ: 搞明白了,不是参数的问题, 我们项目需求,每个用户有资源上传的数量限制,在上传之前查询一次是否还能上传。 我把方法写在App.vue里, 用了new Promise()返回值, 之后如果还能上传就会调用uni.chooseImage(). 在这样的流程下就会导致choose Image无反应。


    当时如果把检测是否还有剩余资源写在当前页面, 不用Promise就没问题。


    应该算是个bug了,只会出现在ios的safari上的bug

    2021-09-17 16:17

  • DCloud_UNI_GSQ

    回复 橘子桔子: 苹果要求选择文件由用户直接触发(异步不可以),后续会分析一下这种情况能否判断出并触发失败。

    2021-09-17 17:45

  • 橘子桔子 (作者)

    回复 DCloud_UNI_GSQ: 并非异步打开choose Image的。 调用的基本代码结构如下。

    // app.vue

    async checkData(){ new Promise() }

    // page

    async MainFn(){

    await getApp().checkData():

    await getApp().choosePhoto();

    }

    2021-09-17 17:57

  • DCloud_UNI_GSQ

    回复 橘子桔子: 翻译一下 async 是什么意思

    2021-09-22 14:58

  • 哦嗯啊好吧行

    回复 DCloud_UNI_GSQ: 哈哈哈哈哈哈

    2022-02-22 11:02

该问题目前已经被锁定, 无法添加新回复

  • 标题 / 粗斜体
  • 代码片段
  • 超链接 / 图片 / 视频
  • 列表 / 引用

文章内容较多时,可以用标题分段 :

## 大标题 
### 小标题

斜体 / 粗体 :

**粗体** 
*斜体*
***粗斜体***

代码片段 :

``` javascript
代码片段
```

超链接 :

[链接文字](链接地址) 例: [百度](http://www.baidu.com)

图片 :

![图片说明](图片地址) 例: ![百度logo](http://www.baidu.com/img/bdlogo.gif)

视频 :

!![视频说明](视频地址) 例: !![优酷视频](http://youku.com)

有序列表 :

1. 123
2. 123
3. 123

无序列表 :

- 123
- 123
- 123

引用 : ( 双回车后结束引用 )

> 引用内容
引用内容
引用内容