在后台运行时响应的iPhone应用程序

问题描述 投票:1回答:2

我知道你可以在你的应用程序中播放音乐,它会在后台运行,但看起来它不起作用。当我的应用程序在iPhone上启动时,我有这段代码:

pathToAudio = [[NSBundle mainBundle] pathForResource:@"silence" ofType:@"mp3"];
audioURL = [NSURL fileURLWithPath:pathToAudio];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:NULL];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:NULL];
audioPlayer.numberOfLoops = -1;
[audioPlayer play];

结果是当我将应用程序发送到后台时播放音乐但其他活动不运行。例如,在我的应用程序中,我正在收听套接字,虽然音乐在后台播放,但我的应用程序并不响应收到消息(它通常在应用程序处于前台时响应)。我做错了什么?我已经读过,当应用程序处于后台时播放音乐时你可以做其他活动,但看起来它不起作用......

编辑:我已经越狱iPhone,所以欢迎任何非传统的方法。我知道,如果我在后台播放无声音频,Apple会拒绝我的应用程序而且我不关心它。我只是想知道如何在播放音乐时以任何其他方式让应用在后台运行......也许我需要拥有iPhone 4?我有iPhone 3G。

iphone ios background
2个回答
3
投票

没什么,它只能在后台运行音频(除了一些特殊情况,如geoloc通知和VoIP),而不是其他东西。


0
投票

您需要提供info.plist文件的规范,如UIBackgroundModes。

© www.soinside.com 2019 - 2024. All rights reserved.