From 3a9c07c14836901bf4e0e14eb4085af7b1a3ed60 Mon Sep 17 00:00:00 2001 From: Tom Poole Date: Tue, 1 Oct 2019 22:52:22 +0100 Subject: [PATCH] iOS: Added an assertion if attempting to use MIDI in an iOS 13 simulator --- .../native/juce_mac_CoreMidi.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp index f0f1e468fc..6e9aa95479 100644 --- a/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp +++ b/modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp @@ -220,9 +220,22 @@ namespace CoreMidiHelpers if (! hasEnabledNetworkSession) { - MIDINetworkSession* session = [MIDINetworkSession defaultSession]; - session.enabled = YES; - session.connectionPolicy = MIDINetworkConnectionPolicy_Anyone; + auto iOSVersion = nsStringToJuce ([[UIDevice currentDevice] systemVersion]); + auto majorVersion = StringArray::fromTokens (iOSVersion, ".", {})[0].getIntValue(); + + if (majorVersion == 13) + { + // From the Xcode 11 release notes known issues: + // Attempting to create an MIDINetworkSession in a simulated device running + // iOS 13 won’t succeed. (54484923) + jassertfalse; + } + else + { + MIDINetworkSession* session = [MIDINetworkSession defaultSession]; + session.enabled = YES; + session.connectionPolicy = MIDINetworkConnectionPolicy_Anyone; + } hasEnabledNetworkSession = true; }