执行本机代码xamarin.ios

时间:2016-10-10 21:09:33

标签: xamarin xamarin.ios sigabrt

我已经构建了一个xamarin.ios应用。该应用程序一直工作得很好。没有代码更改,并且突然出现,应用程序现在在访问摄像头时崩溃。我不知道为什么会这样,有人能解释一下这个问题吗?我已经谷歌围绕这个错误并尝试了各种各样的东西,包括删除各种包。我最近更新到ios 10,但更新后应用程序仍然正常工作。错误如下:

  

2016-10-10 21:44:28.925 Coacher [307:24128]批评:原生   堆栈跟踪:

     

2016-10-10 21:44:28.934 Coacher [307:24128]批评:0
  libmonosgen-2.0.dylib 0x00363d33   mono_handle_native_sigsegv + 242 2016-10-10 21:44:28.934   Coacher [307:24128]批评:1 libsystem_platform.dylib
  0x1db5326d _sigtramp + 24 2016-10-10 21:44:28.935 Coacher [307:24128]   critical:2 libsystem_kernel.dylib 0x1da9fd8f    + 64 2016-10-10 21:44:28.935 Coacher [307:24128]批评:     3 libsystem_kernel.dylib 0x1da9fdd9   system_set_sfi_window + 0 2016-10-10 21:44:28.935 Coacher [307:24128]   临界值:4 TCC 0x201a8e85    + 228 2016-10-10 21:44:28.936 Coacher [307:24128]批判:     5 TCC 0x201a8da1 + 0   2016-10-10 21:44:28.936 Coacher [307:24128]批评:6 TCC
  0x201ab57b + 276 2016-10-10 21:44:28.936 Coacher [307:24128]   critical:7 libxpc.dylib 0x1db8915f    +46 2016-10-10 21:44:28.937 Coacher [307:24128]批评:     8 libxpc.dylib 0x1db89101 + 26   2016-10-10 21:44:28.937 Coacher [307:24128]批评:9
  libdispatch.dylib 0x1d9ae49b + 604   2016-10-10 21:44:28.937 Coacher [307:24128]批评:10   libdispatch.dylib 0x1d9afa91 + 378   2016-10-10 21:44:28.938 Coacher [307:24128]批评:11   libdispatch.dylib 0x1d9af8b7 + 106   2016-10-10 21:44:28.938 Coacher [307:24128]批评:12   libsystem_pthread.dylib 0x1db55947 _pthread_wqthread +   1168 2016-10-10 21:44:28.938 Coacher [307:24128]批评:13   libsystem_pthread.dylib 0x1db5549c start_wqthread + 8   2016-10-10 21:44:28.939 Coacher [307:24128]批评:   ================================================== ===============执行本机代码时获得SIGABRT。这通常表示致命   单声道运行时中的错误或

使用的本机库之一      

的应用程序。

1 个答案:

答案 0 :(得分:8)

这是因为您的iOS 10更新。您需要立即申请相机的许可。以下博客文章现在解释了如何设置这些权限。

https://blog.xamarin.com/new-ios-10-privacy-permission-settings/

  

从iOS 10开始,几乎所有需要请求授权的API和其他API(如打开相机或照片库)都需要一个新的键值对来描述它们在Info.plist中的用法。这与在使用Geolocation和iBeacon API时将NSLocationWhenInUseUsageDescription或NSLocationAlwaysUsageDescription放入Info.plit的要求非常相似。现在的区别是,当应用程序尝试授权而没有设置这些密钥时,应用程序将崩溃。