“”init“已弃用:首先在代码中的”ios 10.0“警告消息中弃用

时间:2016-12-07 18:05:31

标签: ios objective-c xcode warnings avaudiorecorder

所以我有一个代码来开始录制音频并继续收到上述警告信息。有什么帮助吗?

- (IBAction)recordStart:(id)sender {
    AVAudioSession *recSession1 = [[AVAudioSession alloc] init];
    [recSession1 setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];

    [recorder1 prepareToRecord];
    [recorder1 record];
}

1 个答案:

答案 0 :(得分:2)

如果你阅读AVAudioSession的文档,你会发现它是一个单身人士。您不应该创建自己的实例。使用sharedInstance方法。

- (IBAction)recordStart:(id)sender {
    AVAudioSession *recSession1 = [AVAudioSession sharedInstance];
    [recSession1 setCategory:AVAudioSessionCategoryPlayAndRecord error:nil];

    [recorder1 prepareToRecord];
    [recorder1 record];
}

您现在遇到的错误是确保您正确访问共享实例,而不是尝试创建自己的实例。