Blog

iOS에서 미디 재생을 할때 kMIDINotPermitted(-10844)가 뜬 다면

December 27, 2013

iOS에서 미디 재생을 할때 kMIDINotPermitted(-10844)가 뜬 다면

Beginning in iOS 6, apps need to have the audio key in their UIBackgroundModes in order to use CoreMIDI’s MIDISourceCreate and MIDIDestinationCreate functions. Without the key set, these functions will return kMIDINotPermitted (-10844).

(출처: iOS SDK Release Notes for iOS 6)

iOS6 부터 CoreMIDI의 MIDISourceCreate와 MIDIDestinationCreate 함수를 사용하려면 UIBackgroundModes에 audio 키를 가져야 한다. 키 설정을 안하면 이 함수들은 kMIDINotPermitted (-10844)를 리턴한다.

CoreMIDI만 차별하는 이유는 알 수 없으나 MIDI가 재생되지 않으면 키를 설정해야 한다. 앱 plist에 UIBackgroundModes 배열을 추가하고 String으로 audio를 추가한다. audio가 반드시 소문자여야 한다는 점을 주의하자.