uni-app HbuilerX 在macos上运行小程序模拟器拍照功能闪退
uni-app HbuilerX 在macos上运行小程序模拟器拍照功能闪退
示例代码:
takePhoto() {
const camera = wx.createCameraContext()
camera.takePhoto({
quality: 'high',
success: res => {
this.src = res.tempImagePath
}
})
}
//两种都试过
操作步骤:
- 进入页面 打开拍照功能 (Hbuilder 编译启动的开发工具会闪退,直接启动微信开发工具不会)
预期结果:
- 不闪退
实际结果:
- 闪退
### bug描述:
使用HBuilder 打开微信小程序的拍照功能,不管是原生wx 还是用uni 调用 ,都闪退,直接启动微信开发工具 到拍照,不会闪退
--------------------------------------报错信息如下--------------------------------------
Process: wechatdevtools [36067] Path: /Applications/wechatwebdevtools.app/Contents/MacOS/wechatdevtools Identifier: com.tencent.webplusdevtools Version: 80.0.3987.162 (3987.162) Code Type: X86-64 (Translated) Parent Process: ??? [1] Responsible: HBuilderX [21687] User ID: 501
Date/Time: 2021-03-29 16:59:00.905 +0800 OS Version: macOS 11.2 (20D64) Report Version: 12 Anonymous UUID: 31881E84-6711-A087-4B03-C38D02E2E5E8
Sleep/Wake UUID: BF9D2C61-D847-418D-B08E-83F27A6C1322
Time Awake Since Boot: 140000 seconds Time Since Wake: 3400 seconds
System Integrity Protection: enabled
Crashed Thread: 1 Dispatch queue: com.apple.root.default-qos
Exception Type: EXC_CRASH (SIGKILL) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace TCC, Code 0x0 …
### 表格:开发环境信息
| 项目名称 | 开发环境 | 版本号 | 项目创建方式 |
|---------|----------|--------|--------------|
| 无 | HbuilderX | 3.1.4 | 无 |
更多关于uni-app HbuilerX 在macos上运行小程序模拟器拍照功能闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app HbuilerX 在macos上运行小程序模拟器拍照功能闪退的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的macOS权限问题。从崩溃日志中的Termination Reason: Namespace TCC, Code 0x0可以看出,问题出在TCC(Transparency, Consent, and Control)系统上。
macOS的TCC机制严格控制应用对摄像头、麦克风等敏感硬件的访问权限。当通过HBuilderX启动微信开发者工具时,系统将其视为HBuilderX的子进程,需要单独授权摄像头权限。
解决方案:
-
手动授权摄像头权限
- 打开系统设置 → 隐私与安全性 → 相机
- 在应用列表中勾选"微信开发者工具"
- 如果列表中未显示,重启微信开发者工具后再次检查
-
完全重置权限(如果上述方法无效)
- 打开终端,执行:
sudo tccutil reset Camera com.tencent.webplusdevtools

