uni-app uni.saveImageToPhotosAlbum在ios14及以上无响应,调用plus.gallery.save正常
uni-app uni.saveImageToPhotosAlbum在ios14及以上无响应,调用plus.gallery.save正常
信息类别 | 信息内容 |
---|---|
产品分类 | uniapp/App |
PC开发环境 | Windows |
PC系统版本 | win10 |
HBuilderX | 正式 |
HBuilderX版本 | 4.55 |
手机系统 | iOS |
手机系统版本 | iOS 14 |
手机厂商 | 苹果 |
手机机型 | 7p |
页面类型 | vue |
vue版本 | vue2 |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
操作步骤:
ios14及以上调用uni.saveImageToPhotosAlbum即可复现
预期结果:
应正常保存图片到相册
实际结果:
api无响应
bug描述:
调用uni.saveImageToPhotosAlbum不会进入success或fail,无任何响应
更多关于uni-app uni.saveImageToPhotosAlbum在ios14及以上无响应,调用plus.gallery.save正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
hello , 你是怎么用的不生效?使用官网的示例测试一下呢:
uni.chooseImage({
count: 1,
sourceType: [‘camera’],
success: function(res) {
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePaths[0],
success: function() {
console.log(‘save success’);
}
});
}
});
更多关于uni-app uni.saveImageToPhotosAlbum在ios14及以上无响应,调用plus.gallery.save正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
通过canvas生成的图片,使用saveImageToPhotosAlbum保存无响应
我用的是真机,ios14,调用saveImageToPhotosAlbum不会出现请求相册权限的弹窗,这是问题一,我在发现这个问题后,先请求了相册权限,拿到部分或全部相册权限后,api还是无反应,这是问题二,两种权限我都试过了,改用plus.gallery.save,则plus.gallery.save会自动请求相册权限,且保存正常
这是iOS14+系统权限变更导致的问题。iOS14开始,相册权限分为"添加照片"和"读取照片"两种权限,而uni.saveImageToPhotosAlbum需要的是"添加照片"权限。
解决方案:
- 检查manifest.json中已配置相册权限描述
- 使用plus.gallery.save替代(如你测试可用的方案)
- 或者改用以下代码:
// 先检查权限
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
uni.saveImageToPhotosAlbum({
filePath: 'your_image_path',
success() {
console.log('保存成功');
},
fail(err) {
console.log('保存失败', err);
}
});
},
fail() {
uni.showModal({
content: '需要相册权限才能保存图片',
showCancel: false
});
}
});