开发者

xcode error: Parse Issue: Expected ';' after expression

I'm new to xcode and I'm trying to create a sound app. On line: theAudio.delegate = self; I'm receiving the error message:

error: Parse Issue: Expected ';' after expression

Below is a copy of the code.

- (IBAction)play:(id)sender {
    NSString *path = [[NSBundle mainBundle] pathForResource:@"winning" ofType:@"mp3"];
    if(th开发者_运维知识库eAudio)[theAudio release];
    theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath: path] error:NULL];
    theAudio.delegate = self;
    [theAudio play];
}

Any help would be much appreciated.


I was getting a similar build errors in CoreFoundation.framework.

  • CFURL.h: Expected ';' after top level declarator
  • CFFileSecurity.h: Expected function body after function declarator
  • CoreFoundation.h: 'CoreFoundation/CFUserNotification.h' file not found

To fix them, I deleted my project's derived data. I did this in Xcode under the Projects Organizer, in the Organizer Window, Window > Organizer (Command-Shift-2).

Other Things I Tried First That Failed

  • Clean (Command-Shift-K).
  • git clean -dXf (doesn't delete derived data by default), which for me (since I ignore xcuserdata), removes:
    • MyApp.xcodeproj/project.xcworkspace/xcuserdata/
    • MyApp.xcodeproj/xcuserdata/
  • Restart Xcode.
  • Restart OS X.
  • Reinstall Xcode.

I was about to reformat my harddrive and reinstall OS X, which now I see would've worked too. I'm glad I figured out a much faster, more direct way to fix this issue.


Release the audio after play.

[theAudio play]; [theAudio release];

or try this one

-(void) myPlay: (NSString *) soundFile ofType:(NSString *) ext{
    if (ext == nil) {
        ext = @"caf";
    }
        //SystemSoundID soundID;
//create and assign soundID to a particular sound
    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:soundFile ofType:ext]] , &soundID);
    //AudioServicesPlayAlertSound(soundID);
//To play the sound
    AudioServicesPlaySystemSound (soundID);

//Function to allocate a function to be called after the sound(with SoundID) ends(optional)
    AudioServicesAddSystemSoundCompletion (soundID,NULL,NULL,soundCompleted,
                                      (void*) self);
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜