CoreMIDI / PGMidi Виртуальная ошибка midi в iOS6

Столкнулся с двумя ошибками.

Этот код работал в iOS 4 и 5, но после обновления до 6 не работает (

Я нашел следующее, но не знаю, как это исправить в коде.

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).

2012-09-23 03: 40: 04.773 MidiStudio [1017: 907] Ошибка (создание виртуального источника MIDI): -10844: Ошибка домена = код NSMachErrorDomain = -10844 & quot; Операция не может быть завершена. (Ошибка Маха -10844.) & Quot;

2012-09-23 03: 40: 04.777 MidiStudio [1017: 907] Ошибка (создание виртуального назначения MIDI): -10844: Ошибка домена = код NSMachErrorDomain = -10844 & quot; Операция не может быть завершена. (Ошибка Маха -10844.) & Quot;

Вот код для «источника»:

-(void)setVirtualSourceEnabled:(BOOL)virtualSourceEnabled {
    if ( virtualSourceEnabled == self.virtualSourceEnabled ) return;

    if ( virtualSourceEnabled ) {
        NSString *name = virtualEndpointName ? virtualEndpointName : [[[NSBundle mainBundle] infoDictionary] valueForKey:(NSString*)kCFBundleNameKey];

        OSStatus s = MIDISourceCreate(client, (CFStringRef)name, &virtualSourceEndpoint);
        NSLogError(s, @"Create MIDI virtual source");
        if ( s != noErr ) return;

        virtualSourceDestination = [[PGMidiVirtualSourceDestination alloc] initWithMidi:self endpoint:virtualSourceEndpoint];

        [delegate midi:self destinationAdded:virtualSourceDestination];
        [[NSNotificationCenter defaultCenter] postNotificationName:PGMidiDestinationAddedNotification
                                                            object:self 
                                                          userInfo:[NSDictionary dictionaryWithObject:virtualSourceDestination
                                                                                               forKey:PGMidiEndpointKey]];

    } else {
        [delegate midi:self destinationRemoved:virtualSourceDestination];

        [[NSNotificationCenter defaultCenter] postNotificationName:PGMidiDestinationRemovedNotification
                                                            object:self 
                                                          userInfo:[NSDictionary dictionaryWithObject:virtualSourceDestination
                                                                                               forKey:PGMidiEndpointKey]];

        [virtualSourceDestination release]; virtualSourceDestination = nil;
        OSStatus s = MIDIEndpointDispose(virtualSourceEndpoint);
        NSLogError(s, @"Dispose MIDI virtual source");
        virtualSourceEndpoint = NULL;
    }
}

Ответы на вопрос(3)

Ваш ответ на вопрос