uni-app uni.chooseImage在iOS18系统下无法选择显示所有照片,仅显示相册中已有照片
uni-app uni.chooseImage在iOS18系统下无法选择显示所有照片,仅显示相册中已有照片
产品分类:uni小程序SDK
手机系统:iOS
手机系统版本号:iOS 18
手机厂商:苹果
手机机型:所有iOS18系统手机
页面类型:vue
SDK版本号:4.29
操作步骤:
- 使用uni的uni.chooseImageAPI在iOS18系统下,选择相册中的图片,没有出现所有的照片
预期结果:
- 显示相册中所有的图片
实际结果:
- 没有显示所有的照片
bug描述:
- 使用uni的uni.chooseImageAPI在iOS18系统下,选择相册中的图片,显示的是iOS18下相簿中每个存在的相簿和相对应的图片,并没有出现所有的照片,有许多照片不存在任何相簿中,无法选择
相关链接:
已修复,小程序SDK重新下载4.29版本
离线SDK更新到4.31版本
这个是我自己创建的相册 名称叫系统而已 意思就是只能选择相溥里面的照片 不能选择所有的
我iOS集成小程序sdk,4.2.9,为何TZImagePickerController还是不能选择图库所有照片啊
离线SDK更新到4.31版本
目前只有Alpha版。商业环境建议使用吗?
现在有结果了么?
用xcode16.0以下版本打包没问题,目前只能等更新
回复 h***@163.com: 现在可以用xcode16打包了嘛?
有结果了吗
I just fixed the same bug by updating both HbuilderX and SDK to the version 4.36
在iOS 18系统下,uni-app
的uni.chooseImage
接口可能遇到无法选择显示“所有照片”的问题,这通常是由于iOS系统权限或API适配问题引起的。针对这一问题,我们可以通过调整代码和配置来尝试解决。以下是一些可能的解决方案和代码示例:
1. 检查并请求相册访问权限
首先,确保你的应用已经请求并获得了访问相册的权限。在manifest.json
中配置必要的权限:
"mp-weixin": { // 以微信小程序为例,其他平台类似
"requiredPrivateInfos": ["chooseImage"]
},
"app-plus": {
"distribute": {
"ios": {
"permissions": {
"NSPhotoLibraryUsageDescription": "应用需要访问您的相册"
}
}
}
}
在代码中,你可以使用uni.getSetting
来检查权限状态,并使用uni.authorize
请求权限:
uni.getSetting({
success: function(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success: function() {
// 用户同意授权后再次尝试调用 chooseImage
chooseImages();
},
fail: function() {
console.error('用户拒绝授权');
}
});
} else {
chooseImages();
}
}
});
function chooseImages() {
uni.chooseImage({
count: 9,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'], // 尝试同时从相册和相机选择
success: function(res) {
console.log('选择的图片路径:', res.tempFilePaths);
},
fail: function(err) {
console.error('选择图片失败:', err);
}
});
}
2. iOS系统特定适配
由于iOS 18可能引入了新的隐私保护机制,确保你的uni-app
和相关依赖库(如HBuilderX)已经更新到最新版本,以便适配最新的iOS系统。
3. 使用原生插件或自定义组件
如果上述方法仍然无法解决问题,可以考虑使用原生插件或自定义组件来绕过uni.chooseImage
的限制。这通常涉及到iOS原生开发,需要编写Objective-C或Swift代码来调用原生相册选择界面,并通过JSBridge与uni-app
进行通信。
注意事项
- 在实际开发中,务必进行充分的测试,确保代码在目标iOS版本和其他平台上都能正常工作。
- 如果问题依然存在,建议查阅
uni-app
官方文档或社区论坛,看是否有其他开发者遇到并解决了类似问题。
以上代码和配置仅供参考,具体实现可能需要根据实际情况进行调整。