BSMachError授权访问摄像头

这对我来说是一个谜,我希望你能帮助我…

我已经做了一个应用程序,已经有一个QR扫描仪,当我的iPhone上一个全新的安装访问它后面显示一个警报。 问题是相机图像冻结,我无法扫描任何QR码…

一旦我再次从xcode运行应用程序,这个问题就消失了…

这是在控制台中打印的内容:

_BSMachError:端口13403; (os / kern)无效的能力(0x14)“无法插入COPY_SEND”

请注意,我已经添加NSCameraUsageDescription Info.plist。

谢谢你的帮助!


更新:我已经尝试添加NSPhotoLibraryUsageDescription和其他类似的权限Info.plist文件,以及将本地化本地开发区域从EN更改为美国(解决scheme读取其他线程),但仍然没有运气…


更新#2:

昨天创build了一个新项目 ,重复使用相同的代码和“QR-scanner view”工作得很好!

问题:这可能是某种forms的转换相关问题吗?

该项目是在Swift 2.2中创build的,并且刚刚转换为Swift 3的新语法。 这是我能想到的唯一真正的区别

很高兴听到您对此事的想法!

这可能是由于缺less权限而发生的。 尝试在Info.plist键中添加下面的内容,例如NSPhotoLibraryUsageDescription

发现问题了!

这个问题突然出现在我的新项目中,所以我开始debugging! 在运行应用程序时,我签出了Debug View Hierarchy(控制台菜单中的3D快照function)…

第一个用户界面的第二个实例。

所以事实certificate,UI的第二个实例运行在另一个之上 – 这就是为什么我的相机视图似乎已经冻结的原因。

原因:我有一个滑出菜单(从教程: http : //dennissuratna.com/slide-out-navigation-swift/ )设置在我的应用程序,并添加了login和注册视图(从教程: https:// http://www.youtube.com/watch?v=PKOswUE731c )。 现在我发现UI的第二个实例是login到应用程序之后创build的,从而导致了问题。 删除连接到login和注册视图解决了这个问题,所以现在我只需要找出在哪里做适当的实现,所有这些都可以按需要工作。

注意:当我在我的iPhone上运行应用程序的全新安装时,BSMachError消息仍然在控制台中打印出来 。 屏幕上显示允许访问摄像机的提示时,将在控制台中打印“错误”。
该应用程序按预期运行,没有任何问题,所以我认为可以肯定地说
BSMachError-打印输出应被视为打印输出,而不是实际的错误,可能会导致崩溃。

Xcode 8.2.1,iOS 10.2.1

刚刚遇到同样的问题。 请确保您input了NSCameraUsageDescriptionNSPhotoLibraryUsageDescription的消息。

要轻松find这些键,请从编辑器菜单中select“显示原始键和值”。

希望这可以帮助。

干杯。