【问题标题】:BSMachError on granting access to camera授予相机访问权限时出现 BSMachError
【发布时间】:2017-02-05 07:49:21
【问题描述】:

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

我制作了一个带有 QR 扫描仪的应用程序,当在我的 iPhone 上全新安装访问它时,随后会显示警报。问题是相机图像冻结,我无法扫描任何二维码...

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

这是在控制台中打印出来的:

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

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

感谢您的帮助!


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


更新 #2:

我昨天创建了一个新项目,重复使用相同的代码,“QR 扫描仪视图”工作正常!

问题:会不会是某种形式的转换相关问题?

该项目是在 Swift 2.2 中创建的,最近才转换为 Swift 3 的新语法。这是我能想到的关于这个问题的唯一真正区别......

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

【问题讨论】:

    标签: ios swift permissions camera alert


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复Avaan,但是这个解决方案并不能解决问题:(
    【解决方案2】:

    找到问题了!

    我的新项目也突然出现这个问题,所以我开始调试! 在运行应用程序时,我检查了 Debug View Hierarchy(控制台菜单中的 3D 快照功能)...

    结果是在另一个 UI 实例之上运行了第二个 UI 实例 - 这就是我的相机视图似乎冻结的原因。

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

    注意: 每当我在 iPhone 上运行应用程序的全新安装 时,BSMachError 消息仍会打印在控制台中。当屏幕上显示授予相机访问权限的警报时,控制台中会打印“错误”。
    该应用程序按预期运行,没有任何问题,因此我认为可以肯定地说
    BSMachError-printout 应被视为打印输出,而不是会导致潜在崩溃的实际错误。

    【讨论】:

      【解决方案3】:

      Xcode 8.2.1、iOS 10.2.1

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

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

      希望这会有所帮助。

      干杯。

      【讨论】:

      • 感谢您的输入 @serge-k ,但这对我的情况没有帮助。我已经为 NSPhotoLib... 和 NSCamera... 输入了消息... 已经继续很久了 :)
      • 没错,是的,您的错误性质不同。很高兴它消失了!
      猜你喜欢
      • 1970-01-01
      • 2018-12-20
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      相关资源
      最近更新 更多