uni-app uni.scanCode nvue页面调用扫码组件iOS黑屏,安卓正常
uni-app uni.scanCode nvue页面调用扫码组件iOS黑屏,安卓正常
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 15.4 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
PC开发环境操作系统版本号:15.4
HBuilderX类型:正式
HBuilderX版本号:4.75
手机系统:iOS
手机系统版本号:iOS 18
手机厂商:苹果
手机机型:iphone16
页面类型:nvue
vue版本:vue3
打包方式:云端
项目创建方式:HBuilderX
示例代码:
"ios": {
"permissions": {
"camera": {
"description": "需要相机权限用于扫码"
}
},
"privacyDescription": {
"NSCameraUsageDescription": "扫码开门需要摄像头权限",
"NSPhotoLibraryUsageDescription": "需要访问相册以选择图片",
"NSPhotoLibraryAddUsageDescription": "需要访问相册以保存图片",
"NSFileProviderUsageDescription": "需要访问文件系统以存储应用数据",
"NSDocumentStorageUsageDescription": "需要存储应用日志和数据"
},
"capabilities": {
"entitlements": {
"com.apple.security.device.camera": true
},
"plists": {
"NSCameraUsageDescription": "扫码开门需要摄像头权限"
}
},
"info": {
"NSCameraUsageDescription": "扫码开门需要摄像头权限"
}
}
const handleOnScanCode = () => {
uni.scanCode({
onlyFromCamera: true,
success: function (res) {
console.log('条码类型:' + res.scanType);
console.log('条码内容:' + res.result);
}
});
};
更多关于uni-app uni.scanCode nvue页面调用扫码组件iOS黑屏,安卓正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
有时候编辑器勾起来了
还要看看manifest.json里面的
“modules”: {
“Camera”: {},
“Barcode”: {}
},
这个都要有,不然等于没有勾选
更多关于uni-app uni.scanCode nvue页面调用扫码组件iOS黑屏,安卓正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
解决了吗?看着好像不像是manifest中配置的问题,是 ref 的问题?
回复 DCloud_UNI_yuhe: 解决了,因为项目动态配置manifest.json,所以manifest.json没改动到导致
这是一个典型的iOS权限配置问题。在nvue页面中调用uni.scanCode时iOS出现黑屏,通常是因为权限描述配置存在冲突。
从你的配置代码看,存在多处重复的NSCameraUsageDescription声明:
privacyDescription节点下的NSCameraUsageDescriptioncapabilities.plists节点下的NSCameraUsageDescriptioninfo节点下的NSCameraUsageDescription
iOS系统在解析这些配置时可能出现冲突,导致摄像头权限无法正常获取,从而出现黑屏。
解决方案:
将权限配置简化为以下格式:
"ios": {
"privacyDescription": {
"NSCameraUsageDescription": "扫码开门需要摄像头权限"
}
}

