I'm getting the following error in a simple Roulett app where I'm trying to play some wav files. I'm not sure what the error means because no warning flags come up in the code, and I've imported
Here is the error:
Undefined symbols:
"_AudioServicesCreateSystemSoundID", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o "_AudioServicesPlaySystemSound", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o ld: symbol(s) not found collect2: ld returned 1 exit status
"_AudioServicesCreateSystemSoundID", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o "_AudioServicesPlaySystemSound", referenced from: -[CustomPickerViewController playWinSound] in CustomPickerViewController.o -[CustomPickerViewController spin:] in CustomPickerViewController.o ld: symbol(s) not found collect2: ld returned 1 exit status
And here is the code:
#import "CustomPickerViewController.h"
#import <AudioToolbox/AudioToolbox.h>
@implementation CustomPickerViewController
@synthesize picker;
@synthesize winLabel;
@synthesize column1;
@synthesize column2;
@synthesize column3;
@synthesize column4;
@synthesize column5;
@synthesize button;
- (void)showButton
{
button.hidden = NO;
}
-(void)playWinSound
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"win" ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);
winLabel.text = @"WIN!";
[self performSelector:@selector(showButton) withObject:nil afterDelay:1.5];
}
-(IBAction)spin:(id)sender
{
BOOL win = NO;
int numInRow = 1;
int lastVal = -1;
for (int i = 0; i < 5; i++)
{
int newValue =random() % [self.column1 count];
if (newValue == lastVal)
numInRow++;
else
numInRow = 1;
lastVal = newValue;
[picker selectRow:newValue inComponent:i animated: YES];
[picker reloadComponent:i];
if (numInRow >= 3)
win = YES;
}
button.hidden = YES;
NSString *path = [[NSBundle mainBundle] pathForResource:@"crunch"ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef) [NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound(soundID);
if (win)
[self performSelector:@selector(playWinSound) withObject: nil afterDelay: .5];
else
[self performSelector:@selector(showButton) withObject: nil afterDelay: .5];
winLabel.text = @"";
}
Found it. Realized I had not imported the Framework AudioToolbox.Framework in XCode. :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With