AVPlayer spielt Audio von der iOS 7-Hintergrundbenachrichtigung ab

ich habeaudio, fetch undremote-notification setzen inUIBackgroundModes und ich erhalte erfolgreich Remote-Benachrichtigungen mit meiner App im Hintergrund (nicht aktiv) über:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

Ich habe folgendes in meinem:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions:

self.audioPlayer = [[AVPlayer alloc] init];

NSError *sessionError = nil;
NSError *activationError = nil;
[[AVAudioSession sharedInstance] setActive:YES error:&activationError];
if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&sessionError]) {
    NSLog(@"[AppDelegate] Failed to setup audio session: %@", sessionError);
}

Und in- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler Ich habe folgendes:

            NSLog(@"Playing url: %@", filePath);

            AVPlayerItem * currentItem = [AVPlayerItem playerItemWithURL:[NSURL fileURLWithPath:filePath]];

            [self.audioPlayer replaceCurrentItemWithPlayerItem:currentItem];
            [self.audioPlayer play];

Ich sehe diesen Code über NSLog ausführen, aber es wird kein Ton erzeugt. Wenn die App innerhalb weniger Sekunden nach dem Aufrufen des Hintergrunds eine Benachrichtigung erhält, wird tatsächlich Audio abgespielt. Beim ersten Mal wird eine Benachrichtigung ausgegeben, aber niemals danach.

Kann eine App in iOS 7 die Audioausgabe asynchron wie folgt aus dem Hintergrund starten, d. H. Nachdem es geschlafen hat und seit einiger Zeit kein Audio mehr produziert wurde?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage