【问题标题】:xamarin forms zxing forms scanner crashxamarin forms zxing forms 扫描仪崩溃
【发布时间】:2016-11-17 19:09:26
【问题描述】:

我正在为我正在构建的扫描仪应用程序使用 zxing.mobile.forms 包。 代码运行时

var scannerPage = new ZXingScannerPage();
await Navigation.PushAsync(scannerPage);      

错误内容如下: 执行本机代码时获得 SIGSEGV。这通常表明 单声道运行时或本机库之一中的致命错误 由您的应用程序使用。

iPhone 模拟器将应用程序退出到主屏幕,并且没有显示任何可见的错误消息,只是上面的输出代码

【问题讨论】:

  • 在请求权限时是否在 info.plist 中添加了所需的条目?
  • 需要哪些条目? iOS 所需的只是在 appDelegate.cs 中放置一个引用 (ZXing.Net.Mobile.Forms.iOS.Platform.Init();)
  • iOS 10 在使用相机时需要 info.plist 条目以获得权限。
  • Sim logs & crash reports 可能有线索。如果privacy keys 丢失,堆栈跟踪可能包含release notes 中提到的“CRASHING_DUE_TO_PRIVACY_VIOLATION”。

标签: ios xamarin zxing


【解决方案1】:

尝试的事情

找出错误

  • 在 Try Catch 大括号中包围您的方法操作

  • 在 Visual Studio 中转到工具---> 选项---> Xamarin ---> 并将 Xamarin 诊断设置为诊断

可能的快速修复

  • 将您的 Xamarin Form Nuget 包更新为您的 PCL 项目和 iOS 项目中最新且最强大的包

  • 从您的 IOS 设备卸载上一个版本并按照上述步骤重新运行

【讨论】:

  • 一切都是最新的,诊断没有显示任何内容
  • 确保您的 MainPage 是在导航页面中创建的。默认模板不这样做。在我生命中的 8 个小时里狠狠地咬了我一口。 MainPage = new NavigationPage(new ZXingPlay.MainPage());