我的应用程序需要在后台运行音频。在 iOS 6 之前的版本中,通过添加
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
将代码添加到适当的 .plist 文件中,但是在将我的 phonegap 项目部署到 iOS 6 时,这不再有效。如何在 iOS 6 中解决此问题?
我的应用程序需要在后台运行音频。在 iOS 6 之前的版本中,通过添加
<key>UIBackgroundModes</key>
<array>
<string>audio</string>
</array>
将代码添加到适当的 .plist 文件中,但是在将我的 phonegap 项目部署到 iOS 6 时,这不再有效。如何在 iOS 6 中解决此问题?
在 MainController.h 文件中更改以下内容:
#import "MainViewController.h"
#import <AVFoundation/AVFoundation.h>
@implementation MainViewController
- (id) initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
}
return self;
}
我不确定以下是否必要,但我清理了我的项目(CMD+ALT+K),重新编译了 PhoneGap / Cordova Lib(更改目标并让它运行到模拟器)和(再次更改目标后)编译到再次申请,现在它可以工作了!
注意:它仅适用于设备,不适用于模拟器