在后台运行时响应的iPhone应用程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在后台运行时响应的iPhone应用程序相关的知识,希望对你有一定的参考价值。
我知道你可以在你的应用程序中播放音乐,它会在后台运行,但看起来它不起作用。当我的应用程序在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。
答案
没什么,它只能在后台运行音频(除了一些特殊情况,如geoloc通知和VoIP),而不是其他东西。
另一答案
您需要提供info.plist文件的规范,如UIBackgroundModes。
以上是关于在后台运行时响应的iPhone应用程序的主要内容,如果未能解决你的问题,请参考以下文章