我有一个播放音乐的应用程序,我想启用背景模式。我的音频类别设置为 kAudioSessionCategory_MediaPlayback,如果我在 info.plist 文件中的 UIBackgroundModes 中添加音频字符串,它会继续播放音频。到目前为止,一切都很好。
现在我想给我的用户这个选项,选择音频是否在后台播放。我尝试获取文件并删除密钥,但到目前为止没有任何反应。我所做的是(在由 UIButton 处理的选择器中):
-(void) disableBackgroundAudio:(UIButton*)button{
NSDictionary *plistDict = [[NSBundle mainBundle] infoDictionary];
[plistDict setValue:@"" forKey:@"UIBackgroundModes"];
}
如果我在控制台之前和之后打印这个值,我可以看到它之前有“音频”,在调用它之后,我得到一个空白字符串。但是,如果我然后按下主页按钮,无论我是否禁用音频,音频都会一直播放。
我的猜测是,这可能不是更新 info.plist 文件的方法(尽管我不确定它是否可能)。这可能吗?毕竟我认为给用户一个选择对我的特定应用程序来说更好,而且我已经看到其他应用程序这样做了。
任何帮助将不胜感激。