首页 > 解决方案 > iOS 13 模拟器中的“找不到 MIDI 网络驱动程序”崩溃

问题描述

在 Xcode 11 beta 6 的 iOS 13 模拟器中,启用 MIDI 网络会话时我遇到了崩溃。

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

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 之后第一次使用的模拟器。

我假设这是一个测试版软件错误,并且已经向 Apple 提交了该错误。但我觉得在这里记录是明智的,以防其他人遇到它。


更新:2019-09-11

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


更新:2019-09-30

Xcode 11.1 GM 种子中仍然存在问题。我按照埃文回答中的步骤进行操作,这似乎解决了这个问题。

标签: iosios-simulatorios13coremidi

解决方案


我遇到了和你一样的错误,这让我很沮丧。找了四天的解决办法,终于找到了。我希望这对你也有帮助!请仔细按照以下步骤操作:

  1. 将 Xcode 更新到最新版本

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

  3. 退出应用程序 Simulator 和 Xcode(如果它们已打开)

  4. 使用 Finder,导航到您的 Xcode 版本所在的文件夹(我的位于我的 Applications 文件夹中)

  5. Control + 单击 Xcode,然后选择“显示包内容”

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

  7. Control + 单击“iOS.simruntime”,然后选择“显示包内容”

  8. 导航到/Contents/MacOS并验证您是否看到名为“iOS 13.0”的文档

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

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

  11. 退出“Audio”文件夹并一直导航回“RuntimeRoot”文件夹

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

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

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

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


推荐阅读