我正在构建iPad Midi应用程序,因此需要在模拟器中运行App时连接到midi设备。以下是基本说明:
Apple Mac OSX模拟器(iPhone或iPad)
问题是“iPhone模拟器”在过去6个月中仅出现了两次,并且在几天前的OSX 10.11.2升级之后再次出现。我尝试重新启动,更改所有涉及的应用程序的启动顺序,一切都没有运气。最后向Apple提交了一份雷达。
所以我想知道是否有人知道要抓住它的伎俩?它已经捕获了两次,但我无法重现它。
答案 0 :(得分:4)
确保在连接MIDI设备之前有此代码。
<强>目标-C:强>
#import <CoreMIDI/MIDINetworkSession.h>
MIDINetworkSession* session = [MIDINetworkSession defaultSession];
session.enabled = YES;
session.connectionPolicy = MIDINetworkConnectionPolicy_Anyone;
<强>夫特:强>
let session = MIDINetworkSession.default()
session.isEnabled = true
session.connectionPolicy = MIDINetworkConnectionPolicy.anyone
以下是一个很好的资源。
http://goodliffe.blogspot.ca/2011/01/more-ios-midi-using-networked-midi.html
答案 1 :(得分:2)
在看到以下情况之后,以下情况很多:
1)如果您设法多次链接CoreMidi.framework,您将失去“iPhone模拟器”每个l'L'的答案。 2)如果你使用一个使用CoreMidi.Framework的Cocoa Pod,例如MIKMIDI你可以失去“iPhone模拟器”。我找到的唯一解决方案是包含源或使用子项目。
首先Apple说:
“工程部就此问题提供了以下反馈:
目前不支持OS X和Sim之间的MIDI网络。“
哼哼,一个不能解决的问题!进一步澄清这是OSX 10.11.2和Xcode 7.2然后他们感到愧疚,突然发送给我:
这是一封关于错误ID#23875386的礼貌电子邮件。
工程部提供了以下反馈,并要求提供一些其他信息,以便进一步调查此问题:
听起来您想要在模拟器中激活网络MIDI驱动程序,以便它可以与主机环境进行通信。
这有用吗(从你的应用程序调用)?:
... [MIDINetworkSession defaultSession] .enabled = YES;
这适用于所有情况!
答案 2 :(得分:1)
我之前也遇到过这个问题;这似乎对我有用:
- 检查以确保您的项目中没有CoreMIDI.Framework的重复项。 *如果有礼物,请删除 引用重复的
CoreMIDI.Framework
(突出显示,点按删除)Product > Clean
- 运行iOS模拟器
醇>
您现在应该在第1节中看到iPhone模拟器。
答案 3 :(得分:1)
在Mac OS 10.12.4上确认:
确保将主机和模拟器的端口设置为不同。它们通常默认设置为5004,但如果两者同时运行,则会在端口上发生冲突。
尝试将主机会话更改为端口5006。