uni-app uni.chooseMedia 云打包后不起作用,打自定义测试基座包就能用

uni-app uni.chooseMedia 云打包后不起作用,打自定义测试基座包就能用

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

uni.chooseMedia({  
    count: 9,  
    mediaType: ["mix"],  
    sourceType: ["album", "camera"],  
    camera: "back",  
    success(res) {  

      });  

以上代码,云打包安装后无反应。

预期结果:

应弹出选择 “拍照、录像、相册”的sheet。

实际结果:

无任何反应,也没报错,也没弹出选择窗口

bug描述:

项目中需要拍照、录像、选相册上传功能,使用的是uni.chooseMedia。 开发阶段真机调试可以正常使用,云打包后点击无任何反应,没有弹出选择“拍照、录像、相册”的sheet。


更多关于uni-app uni.chooseMedia 云打包后不起作用,打自定义测试基座包就能用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

11 回复

请提供下appid,我们查下云端打包日志。

更多关于uni-app uni.chooseMedia 云打包后不起作用,打自定义测试基座包就能用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


UNI353F52A

回复 m***@126.com: 麻烦上班后给解决一下

可以打包自定义基坐,测试看看。

什么问题

回复 冬日睛天: 自定义基座好使,但是给客户发的话不太好,每次运行都会弹个自定义基座的提示。

回复 冬日睛天: 问题就是这个api真机调试正常,打自定义测试基座安装后也正常,就是打正式包运行之后点了没反应。

我也是一样问题,sourceType: [‘album’, ‘camera’],去掉一个album或camera后正常

我是只能通过下面方法代替 uni.showActionSheet({ itemList: [‘拍摄’, ‘从相册选择’], success: _res => { uni.chooseMedia({ count: 1, mediaType: [‘image’], sourceType: _res.tapIndex === 0 ? [‘camera’] : [‘album’], sizeType: [‘original’], //original:原图;compressed:压缩图 success: res => { // 设置url的值,显示控件 this.imageSrc = res.tempFiles[0].tempFilePath; }, complete: () => { uni.hideLoading(); } }) }, });

这个方法妙啊

这个问题的常见原因和解决方案如下:

  1. 权限问题:云打包时可能缺少必要的权限配置。检查manifest.json中是否添加了相机和相册权限:
"android": {
    "permissions": [
        "android.permission.CAMERA",
        "android.permission.READ_EXTERNAL_STORAGE",
        "android.permission.WRITE_EXTERNAL_STORAGE"
    ]
}
  1. 云打包配置差异:测试基座包和正式包可能存在配置差异,建议:
  • 检查云打包时选择的权限是否完整
  • 比较测试基座和云打包的manifest配置
  1. 运行环境差异:真机调试和打包后运行环境不同,建议:
  • 添加错误回调捕获异常:
uni.chooseMedia({
    // ...其他参数
    fail(err) {
        console.error('选择媒体失败:', err);
    }
});
回到顶部