我已经构建了一个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。这通常表示致命 单声道运行时中的错误或的应用程序。
答案 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的要求非常相似。现在的区别是,当应用程序尝试授权而没有设置这些密钥时,应用程序将崩溃。