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

" "init" is deprecated: first deprecated in ios 10.0 " warning message in code

提问人:Klaus 提问时间:12/8/2016 最后编辑:rmaddyKlaus 更新时间:12/8/2016 访问量:1243

问:

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

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

    [recorder1 prepareToRecord];
    [recorder1 record];
}
iOS Objective-C Xcode 警告 AVAudioRecorder

评论

0赞 Martin R 12/8/2016
我不是 AVAudio 的专家,但“AVAudioSession”的首批 Google 点击之一是包含示例代码的 developer.apple.com/library/content/qa/qa1631/_index.html——这是你需要吗?AVAudioSession *session = [AVAudioSession sharedInstance];
0赞 Klaus 12/8/2016
@MartinR是的,谢谢

答:

2赞 rmaddy 12/8/2016 #1

如果您阅读文档,您将看到它是一个单例。您不应该创建自己的实例。使用方法。AVAudioSessionsharedInstance

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

    [recorder1 prepareToRecord];
    [recorder1 record];
}

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