1

我的应用程序需要在后台运行音频。在 iOS 6 之前的版本中,通过添加

<key>UIBackgroundModes</key>
<array>
    <string>audio</string>
</array>

将代码添加到适当的 .plist 文件中,但是在将我的 phonegap 项目部署到 iOS 6 时,这不再有效。如何在 iOS 6 中解决此问题?

4

1 回答 1

2

在 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(更改目标并让它运行到模拟器)和(再次更改目标后)编译到再次申请,现在它可以工作了!

注意:它仅适用于设备,不适用于模拟器

于 2012-10-31T06:02:07.900 回答