在 Objective-C 和 Swift 中使用 JSQSystemSoundPlayer 时,我看不到 @interface

I am getting no visible @interface while using JSQSystemSoundPlayer in Objective-C with Swift

我收到此错误:

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

我正在使用 JSQMessagesViewController 创建一个聊天应用程序。 这是代码:

if (asAlert) {
    [[JSQSystemSoundPlayer sharedPlayer] playAlertSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF];
}
else {
    [[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF];
}

if 和 else 语句都有错误。 我该如何解决?

嘿,不确定你是否让它工作了,但你只需要像这样添加一个完成处理程序:

if (asAlert) {
    [[JSQSystemSoundPlayer sharedPlayer] playAlertSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF completion:nil];

} else {
    [[JSQSystemSoundPlayer sharedPlayer] playSoundWithFilename:fileName fileExtension:kJSQSystemSoundTypeAIFF completion:nil];
}

如果您不想深入研究代码,我已在 github 上对其进行了修补:

https://github.com/FridayDevGroup/JSQMessagesViewController