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
请提供下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();
}
})
},
});
这个方法妙啊
这个问题的常见原因和解决方案如下:
- 权限问题:云打包时可能缺少必要的权限配置。检查manifest.json中是否添加了相机和相册权限:
"android": {
"permissions": [
"android.permission.CAMERA",
"android.permission.READ_EXTERNAL_STORAGE",
"android.permission.WRITE_EXTERNAL_STORAGE"
]
}
- 云打包配置差异:测试基座包和正式包可能存在配置差异,建议:
- 检查云打包时选择的权限是否完整
- 比较测试基座和云打包的manifest配置
- 运行环境差异:真机调试和打包后运行环境不同,建议:
- 添加错误回调捕获异常:
uni.chooseMedia({
// ...其他参数
fail(err) {
console.error('选择媒体失败:', err);
}
});