ios - 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 种子中仍然存在问题。我按照埃文回答中的步骤进行操作,这似乎解决了这个问题。
解决方案
我遇到了和你一样的错误,这让我很沮丧。找了四天的解决办法,终于找到了。我希望这对你也有帮助!请仔细按照以下步骤操作:
将 Xcode 更新到最新版本
确保您的构建目标部署版本设置为 iOS 13.0
退出应用程序 Simulator 和 Xcode(如果它们已打开)
使用 Finder,导航到您的 Xcode 版本所在的文件夹(我的位于我的 Applications 文件夹中)
Control + 单击 Xcode,然后选择“显示包内容”
导航
/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime
Control + 单击“iOS.simruntime”,然后选择“显示包内容”
导航到
/Contents/MacOS
并验证您是否看到名为“iOS 13.0”的文档退出“MacOS”文件夹回到“目录”文件夹并导航到
/Resources/RuntimeRoot/System/Library/Audio
复制整个“MIDI 驱动程序”文件夹
退出“Audio”文件夹并一直导航回“RuntimeRoot”文件夹
导航到
/Library/Audio
,您应该会看到这里没有名为“MIDI Drivers”的文件夹,只有“Plug-Ins”和“Tunings”将复制的“MIDI 驱动程序”文件夹粘贴到此“音频”文件夹中
关闭 Finder,重新启动 Xcode 并尝试在 iOS 13 模拟器中再次运行您的项目
现在,Xcode 不应该抱怨缺少 MIDI 驱动程序,并且您的代码应该在没有 EXE_BAD_ACCESS 的情况下运行!我希望这会有所帮助,如果您有任何其他问题,请随时与我联系。
推荐阅读
- php - 学说单元测试 created_at 字段失败
- java - 使用带有同步块的 ConcurrentHashMap 的 Java 并发
- pine-script - 如何仅在条形图顶部显示字符串“超买”一次
- c++ - 如何完全删除多维动态数组?
- python-3.x - 根据条件组合熊猫文本行
- windows - 将每一行文本转换为变量的批处理代码
- jupyter-notebook - 带有 Bokeh show() 命令的单元格永远运行 - 如何让它们在绘图后停止?
- google-data-studio - 如何在 Google Data Studio 中制作社区可视化以供用户在使用前购买
- python - 在交互式会话中找不到对象方法
- android - 构建建议时颤振 showSearch 异步操作