Xamarin iOS在调用AudioUnit.SetEnableIO时中止

时间:2016-09-21 00:08:13

标签: xamarin.ios

我们基于Xamarin的iOS应用在iPhone上运行良好但在iPad上崩溃。违规通知是SetEnableIO

audioUnit = new AudioUnit.AudioUnit(component);
audioUnit.SetEnableIO(true, AudioUnitScopeType.Input, kInputBus);

以下是调试窗口中收到的输出:

2016-09-20 09:59:19.006 MyAppiOX[329:100987] critical: 
Native stacktrace:
2016-09-20 09:59:19.099 MyAppiOX[329:100987] critical:  0   MyAppiOX                          0x00000001001b97d8 mono_handle_native_sigsegv + 260
2016-09-20 09:59:19.099 MyAppiOX[329:100987] critical:  1   libsystem_platform.dylib            0x00000001853df348 _sigtramp + 52
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  2   libsystem_kernel.dylib              0x0000000185319480 <redacted> + 100
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  3   libsystem_kernel.dylib              0x00000001853194c8 system_set_sfi_window + 0
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  4   TCC                                 0x000000018855a560 <redacted> + 0
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  5   TCC                                 0x000000018855a45c <redacted> + 0
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  6   TCC                                 0x000000018855d52c <redacted> + 288
2016-09-20 09:59:19.100 MyAppiOX[329:100987] critical:  7   libxpc.dylib                        0x000000018542401c <redacted> + 80
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  8   libxpc.dylib          
          0x0000000185423f8c <redacted> + 40
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  9   libdispatch.dylib                   0x00000001851d91c0 <redacted> + 16
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  10  libdispatch.dylib                   0x00000001851e7ab4 <redacted> + 732
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  11  libdispatch.dylib                   0x00000001851e938c <redacted> + 572
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  12  libdispatch.dylib                   0x00000001851e90ec <redacted> + 124
2016-09-20 09:59:19.101 MyAppiOX[329:100987] critical:  13  libsystem_pthread.dylib             0x00000001853e12c8 _pthread_wqthread + 1288
2016-09-20 09:59:19.102 MyAppiOX[329:100987] critical:  14  libsystem_pthread.dylib             0x00000001853e0db4 start_wqthread + 4
2016-09-20 09:59:19.102 MyAppiOX[329:100987] 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.

有谁知道如何解决这个问题?问候。

环境:

Visual Studio 2015 with update 3
Xamarin 4.2.0.680
Xamarin.iOS 10.0.0.6
iPad is running iOS 10.0.1

1 个答案:

答案 0 :(得分:1)

我们终于把问题钉死了。显然,Xamarin还没有在iOS 10上进行过全面测试。操作系统引入了一些新的隐私设置。如果您没有定义iOS应用程序打算使用的设置,您将看到您的应用程序因SIGABRT错误而崩溃。可以在Info.plist.中定义隐私设置。在我们的案例中,它是NSMicrophoneUsageDescription.希望您觉得这很有用。