'JSQSystemSoundPlayer' 错误没有可见的@interface

No visible @interface for 'JSQSystemSoundPlayer' error

我刚刚添加了文件:

JSQSystemSoundPlayer.h
JSQSystemSoundPlayer.m

进入我的项目,它出现了下一个错误:

No visible @interface for 'JSQSystemSoundPlayer' declares the selector 'playAlertSoundWithFilename:fileExtension:'

我搜索了很多但找不到解决方案。谁知道怎么解决?

这是方法的声明

- (void)playAlertSoundWithFilename:(NSString *)filename
                 fileExtension:(NSString *)fileExtension
                    completion:(nullable JSQSystemSoundPlayerCompletionBlock)completionBlock;

你缺少完成块,没有只有两个参数的方法

这是如何使用它的例子

[[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:@"mySoundFile"
                                             fileExtension:kJSQSystemSoundTypeAIF
                                                completion:^{
                                                  // completion block code
                                                }];

编辑:根据评论

如果您查看 playSoundWithFilename: fileExtension: completion: 方法的声明,您会发现

@param completionBlock A block called after the sound has stopped playing.

这意味着在声音停止播放后做任何你想做的事情。如果您不想做任何事情,那么您可以传递 nil 或如上所述的空块