将我的设备升级到 IOS 10 后,我的 Xamarin IOS 应用程序出现了几个问题。
其中大部分是由于以下问题
iOS 10 - 询问相机、麦克风和照片库权限的变化导致应用程序崩溃
在 IOS 10 升级的综合中,一些授权请求描述成为强制性的(这里是文档https://blog.xamarin.com/new-ios-10-privacy-permission-settings/)损坏的功能是:
- 通过 PHPhotoManager 访问照片:修复了将 NSLibraryUsageDescription 键添加到 info.plist 文件
- 通过 MediaPicker TakePhotoAsync 访问相机拍照:修复了将密钥 NSCameraUsageDescription 添加到 info.plist 文件
- 通过 MediaPicker TakeVideoAsync 访问相机拍摄视频:仍然不起作用
应用程序崩溃并且错误是(与之前修复的错误相同):
执行本机代码时收到 SIGABRT。这通常表示单声道运行时或您的应用程序使用的本机库之一中的致命错误。
有谁知道修复?是否存在授权视频捕获的密钥?
这是代码:
MediaPicker d = new MediaPicker();
VideoMediaStorageOptions opt = new VideoMediaStorageOptions();
opt.Quality = VideoQuality.Low;
return await d.TakeVideoAsync (opt);
崩溃发生在 d.TakeVideoAsync 函数中。
这是堆栈跟踪:
critical: 0 MyAppOS1 0x00000001000afd68 mono_handle_native_sigsegv + 260
critical: 1 libsystem_platform.dylib 0x000000018a3d3348 _sigtramp + 52
critical: 2 libsystem_kernel.dylib 0x000000018a30d480 <redacted> + 100
critical: 3 libsystem_kernel.dylib 0x000000018a30d4c8 system_set_sfi_window + 0
critical: 4 TCC 0x000000018d54e560 <redacted> + 0
critical: 5 TCC 0x000000018d54e45c <redacted> + 0
critical: 6 TCC 0x000000018d55152c <redacted> + 288
critical: 7 libxpc.dylib 0x000000018a41801c <redacted> + 80
critical: 8 libxpc.dylib 0x000000018a417f8c <redacted> + 40
critical: 9 libdispatch.dylib 0x000000018a1cd1c0 <redacted> + 16
critical: 10 libdispatch.dylib 0x000000018a1dbab4 <redacted> + 732
critical: 11 libdispatch.dylib 0x000000018a1dd38c <redacted> + 572
critical: 12 libdispatch.dylib 0x000000018a1dd0ec <redacted> + 124
critical: 13 libsystem_pthread.dylib 0x000000018a3d52c8 _pthread_wqthread + 1288
critical: 14 libsystem_pthread.dylib 0x000000018a3d4db4 start_wqthread + 4
critical:
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
发送端