iOS 13模拟器中的“找不到MIDI网络驱动程序”崩溃

时间:2019-08-21 08:47:39

标签: ios ios-simulator ios13 coremidi

在Xcode 11 beta 6的iOS 13模拟器中,启用MIDI Network Session时崩溃。

通过在新项目中将以下行添加到AppDelegate的didFinishLaunching:WithOptions:中,我可以进行复制:

MIDINetworkSession.default().isEnabled = true
MIDINetworkSession.default().connectionPolicy = .anyone

在iOS 13模拟器中运行时,该应用将在以下这些行的第一行崩溃,并在控制台上显示“找不到MIDI网络驱动程序”。 iOS 12和更早版本的模拟器不受影响。

奇怪的是,似乎并不是我的所有iOS 13模拟器都受到影响。看来我在Xcode 11 beta 4和更早版本中使用的所有iOS 13模拟器都能正常工作。唯一受影响的模拟器可能是我第一次在Xcode 11 beta 5及以后使用的模拟器。

我假设这是Beta版软件错误,并且已经向Apple提交了该错误。但是我觉得在这里进行记录很聪明,以防其他人遇到它。


更新时间:2019-09-11

对于我来说,使用Xcode 11.0 GM种子(包括新的iPhone 11型号)中的模拟器仍然是一个问题。


更新时间:2019-09-30

问题仍然存在于Xcode 11.1 GM种子中。我按照Evan的回答中的步骤进行操作,似乎可以解决该问题。

3 个答案:

答案 0 :(得分:11)

我遇到了与您相同的错误,这让我感到沮丧。我搜索了四天的解决方案,最后找到了一个。希望对您有帮助!请仔细执行以下步骤:

  1. 将Xcode更新到最新版本

  2. 确保将构建目标部署版本设置为iOS 13.0

  3. 如果应用程序Simulator和Xcode已打开,请退出

  4. 使用Finder,导航到您的Xcode版本所在的文件夹(我的应用程序文件夹中是我的文件夹)

  5. 控制+单击Xco​​de,然后选择“显示软件包内容”

  6. 导航到/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime

  7. 控制+单击“ iOS.simruntime”,然后选择“显示软件包内容”

  8. 导航到/Contents/MacOS并确认您看到名为“ iOS 13.0”的文档

  9. 退出“ MacOS”文件夹,回到“目录”文件夹,然后导航至/Resources/RuntimeRoot/System/Library/Audio

  10. 复制整个“ MIDI驱动程序”文件夹

  11. 退出“音频”文件夹,并一直导航回到“ RuntimeRoot”文件夹

  12. 导航至/Library/Audio,您应该会看到这里没有名为“ MIDI Drivers”的文件夹,只有“ Plug-Ins”和“ Tunings”

  13. 将复制的“ MIDI驱动程序”文件夹粘贴到此“音频”文件夹中

  14. 关闭Finder,重新启动Xcode,然后尝试在iOS 13模拟器中再次运行您的项目

现在,Xcode不应抱怨缺少MIDI驱动程序,并且您的代码应在没有EXE_BAD_ACCESS的情况下运行!希望对您有所帮助,如果还有其他疑问,请随时与我联系。

答案 1 :(得分:2)

这只是the accepted answer的简化,因为我经常这样做。假设您的Xcode位于/Applications/Xcode.app中:

从以下位置复制MIDI Drivers

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Audio

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/Library/Audio

并重新启动Xcode。

注意

因此它存在于RuntimeRoot/System/Library/Audio中,并且也必须存在于RuntimeRoot/Library/Audio中。

答案 2 :(得分:1)

这应该在Xcode 11.2随附的iOS 13.2模拟器中解决;根本原因正是Evan所确定的-文件路径错误。