我正在做一個故事板教程(開始iOS Storyboarding),其中一個示例程序不能編譯。我以前遇到過這個問題,而對象類沒有被編譯器識別,但我找不到問題。在Xcode編譯/加載過程中未定義的符號
我錯過了什麼?
錯誤:i386硬件架構 未定義的符號: 「_OBJC_CLASS _ $ _ AudioPlayer」,從引用: objc級,裁判在MainViewController.o
MainViewController.m
--------------------
#import "MainViewController.h"
@interface MainViewController()
{
}
@end
@implementation MainViewController
@end
MainViewController.h
--------------------
#import "FlipsideViewController.h"
#import "AudioPlayer.h"
#import "PlayButton.h"
#import "Scale.h"
@interface MainViewController : UIViewController
<FlipsideViewControllerDelegate,
AudioPlayerDelegate,
PlayButtonDelegate,
UIPopoverControllerDelegate>
@end
AudioPlayer.m
-------------
#import "AudioPlayer.h"
@interface AudioPlayer() {
}
...(snip)...
@end
@implementation AudioPlayer
...(snip)...
@end
AudioPlayer.h
-------------
#import <Foundation/Foundation.h>
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
...(snip)...
@protocol AudioPlayerDelegate;
@interface AudioPlayer : NSObject <AVAudioPlayerDelegate> {
}
...(snip)...
@end
@protocol AudioPlayerDelegate <NSObject>
@required
-(void)player:(AudioPlayer *)player stateChanged:(ePlayerState)state;
@end
您是否添加#import和AudioToolbox框架? –
tkanzakic
2013-04-28 15:12:57
可能'AudioPlayer.m'沒有爲您的目標編譯。在導航器上選擇文件,並確保在File Inspector的Target Membership部分中選擇了目標。 – murat 2013-04-28 15:25:55
就是這樣 - 必須將所有類文件添加到編譯階段的編譯階段。 框架被妥善包括在內 - 我應該這麼說。 – Mickey 2013-04-28 15:28:46