uni-app APP uni.chooseImage在ios系统版本为15.4时选择照片权限后,再次点击上传无反应
uni-app APP uni.chooseImage在ios系统版本为15.4时选择照片权限后,再次点击上传无反应
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Mac |
PC开发环境操作系统版本号 | 11.6 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 4.29 |
手机系统 | iOS |
手机系统版本号 | iOS 15 |
手机厂商 | 苹果 |
手机机型 | ios 15.4 |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
上传图片权限 选择了 选中的照片
再点击上传入口没有任何反应
预期结果:
上传图片权限 选择了 选中的照片
点击上传入口应调起相册或者请求权限的弹窗
实际结果:
上传图片权限 选择了 选中的照片
再点击上传入口没有任何反应
bug描述:
uni.chooseImage在ios系统版本为15.4,选择了图片权限为 选中的照片
点击上传入口是没有反应
更多关于uni-app APP uni.chooseImage在ios系统版本为15.4时选择照片权限后,再次点击上传无反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
缩小下问题范围,ios 模拟器是否正常,其他同事手机、ios 系统版本是否正常?你运行 helloUniApp 内置模版是否正常
更多关于uni-app APP uni.chooseImage在ios系统版本为15.4时选择照片权限后,再次点击上传无反应的实战教程也可以访问 https://www.itying.com/category-93-b0.html
ios模拟器也是正常的,其他同事的手机运行没有问题,安卓手机也没有问题,ios手机又运行了系统版本15.8以及系统18的都没有问题,只有系统为15.4的有这个问题
针对你提到的uni-app在iOS 15.4系统上使用uni.chooseImage
接口时,用户在首次授权照片权限后,再次点击上传无反应的问题,这里提供一种可能的解决方案。首先,确保你的代码逻辑和权限处理是正确的。以下是一个基本的代码示例,用于展示如何在uni-app中调用uni.chooseImage
,并处理可能的权限问题。
// 页面逻辑代码
Page({
data: {
filePaths: [] // 存储选中的图片路径
},
// 选择图片函数
chooseImage() {
uni.chooseImage({
count: 9, // 最多可以选择的图片张数
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: (res) => {
// 选中图片后,将文件路径存储到data中
this.setData({
filePaths: res.tempFilePaths
});
console.log('选中的图片路径:', res.tempFilePaths);
},
fail: (err) => {
console.error('选择图片失败:', err);
// 处理权限问题
if (err.errMsg === 'chooseImage:fail permission denied') {
uni.showModal({
title: '提示',
content: '您已拒绝访问相册,请在设置中开启权限后重试。',
showCancel: false,
success: (modalRes) => {
// 引导用户去设置页开启权限
if (uni.getSystemInfoSync().platform === 'ios') {
uni.setClipboardData({
data: '请前往设置中开启“XXX”的相册访问权限',
success: () => {
uni.showModal({
title: '提示',
content: '权限开启指引已复制到剪贴板,请前往设置粘贴并开启。',
showCancel: false
});
}
});
} else {
// Android或其他平台处理方式(如果需要)
}
}
});
}
}
});
}
});
在上面的代码中,我们定义了一个chooseImage
方法,该方法调用uni.chooseImage
来选择图片。在fail
回调中,我们检查错误信息是否为权限被拒绝(chooseImage:fail permission denied
),如果是,则提示用户前往系统设置中开启权限。
注意:iOS 15及以上版本对应用权限的管理更加严格,用户可能会在首次授权后撤销权限。此外,iOS 14及以上版本引入了App隐私报告,用户可以在设置中查看应用的权限使用情况。
如果上述代码未能解决问题,建议检查以下几点:
- 确保uni-app和相关依赖库已更新到最新版本。
- 检查iOS项目的
Info.plist
文件,确保已正确配置了相册访问权限(NSPhotoLibraryUsageDescription
和NSPhotoLibraryAddUsageDescription
)。 - 使用Xcode的模拟器或真机调试,查看控制台是否有更详细的错误信息。