uni-app 苹果图片选择时 APP被KILL掉
uni-app 苹果图片选择时 APP被KILL掉
项目 | 信息 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | Windows 10 家庭中文版 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 3.1.7 |
手机系统 | iOS |
手机系统版本号 | IOS 14 |
手机厂商 | 苹果 |
手机机型 | iPhone 6s plus |
页面类型 | vue |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
示例代码:
uni.chooseImage({
count: 1, //默认9
sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: (res) => {
console.log(111111111111111);
fail: (e) => {
}
});
操作步骤:
uni.chooseImage({
count: 1, //默认9
sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
sourceType: ['album'], //从相册选择
success: (res) => {
console.log(111111111111111);
fail: (e) => {
}
});
预期结果:
可以正常选择图片
实际结果:
现在APP直接被KILL掉
bug描述:
使用 uni.chooseImage API选择图片时, 页面弹出信息见附件, 选择"前往系统设置" 或"继续访问部分图片"后, APP直接被KILL掉
更多关于uni-app 苹果图片选择时 APP被KILL掉的实战教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
先用官方示例Demo 跑一下 试试 看看这个手机是否正常
列一下 iOS14 的哪个版本
更多关于uni-app 苹果图片选择时 APP被KILL掉的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是iOS 14系统引入的相册权限管理机制导致的。当用户选择"前往系统设置"或"继续访问部分图片"时,系统会中断当前应用进程来处理权限设置,造成APP被强制关闭。
解决方案:
- 权限预检测:在调用
uni.chooseImage
前先检查相册权限状态:
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
// 已有权限,执行选择图片
uni.chooseImage({...})
},
fail() {
// 无权限,引导用户授权
uni.showModal({
content: '需要相册权限才能选择图片',
success: (res) => {
if (res.confirm) {
uni.openSetting() // 打开设置页面
}
}
})
}
})
- 错误处理优化:在fail回调中添加具体错误处理:
fail: (e) => {
console.log('选择图片失败:', e)
if(e.errMsg.includes('auth deny')){
// 处理权限拒绝情况
}
}
- 内存管理:iPhone 6s Plus内存较小,选择原图时可能因内存不足导致崩溃。建议:
sizeType: ['compressed'] // 使用压缩图替代原图