选择器 'URLAssetWithURL' 没有已知的 class 方法

No known class method for selector 'URLAssetWithURL'

我有一个 iOS 应用程序,它使用了应用程序中录制并保存的许多不同的音频文件。我已经导入了 AVFoundation 框架,但是我仍然得到错误:

No known class method for selector 'URLAssetWithURL'

这是我的代码:

AVAsset *asset = [AVURLAsset URLAssetWithURL:[NSURL URLWithString:audioFiles[indexPath.row]]];
waveformView.asset = asset;

audioFiles 数组内部是本地 URL,如下所示:

file:///var/mobile/Containers/Data/Application/6B35F9EA-1896-4989-91AF-06850B74B2E9/Documents/record_sound_1.aif

我做错了什么?

根据 class 参考 https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVURLAsset_Class/index.html

class 方法有两个参数,URL 和一些选项。更改为:

AVAsset *asset = [AVURLAsset URLAssetWithURL:[NSURL URLWithString:audioFiles[indexPath.row]] options:nil];
waveformView.asset = asset;

我希望 XCode 的自动完成和突出显示可以明显地表明您正在使用一种不存在的方法...

您缺少该方法调用中的第二个参数。 URLAssetWithURL:options: 声明如下:

+ (AVURLAsset *)URLAssetWithURL:(NSURL *)URL options:(NSDictionary *)options

在您的调用中您缺少 options 参数。