Search code examples
iosswiftjsqmessagesviewcontroller

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


This is where my build fails in JSQSystemSoundPlayer. I cannot get around this.

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

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

Solution

  • According to the header file, I think you need to include a completion block (which you can set to nil if you don't want anything doing).

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