无法导入AVFoundation.framework,所以app无法播放音乐?

时间:2013-05-21 22:33:01

标签: ios objective-c xcode avaudioplayer

我是xcode的新手,并尝试制作一个非常简单的应用程序,用于在点击按钮时播放噪音。我问了一个先前的问题,其中我有一个错误,并且用户建议我没有正确导入AVFoundation.framework。我接受了他们的建议并设置了import语句,但现在出错了。请参阅下面的代码:

我的.h文件:

#import <UIKit/UIKit.h>
@interface FirstViewController : UIViewController
@property (weak, nonatomic) IBOutlet UILabel *sampleText;
@end

我的.m文件:

#import "FirstViewController.h"
#import <AVFoundation/AVAudioPlayer.h>
@interface FirstViewController ()
@end

@implementation FirstViewController
@synthesize sampleText = _sampleText;

- (IBAction)beep:(UIButton *)sender {
       NSURL* musicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                                   pathForResource:@"button1"
                                                   ofType:@"mp3"]];
        AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
        [click play];
    //[click release];
}

然而,在构建时,我收到链接器错误:

Undefined symbols for architecture armv7s:
  "_OBJC_CLASS_$_AVAudioPlayer", referenced from:
      objc-class-ref in FirstViewController.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)

有人可以帮我解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:7)

您还必须将AVFoundation框架添加到您的项目中。单击左侧源列表顶部的项目,选择目标,转到“摘要”窗格,然后单击“链接的框架和库”下的“+”按钮。

答案 1 :(得分:2)

确保您也添加框架。单击左栏中的项目,向下滚动到框架,然后单击添加。找到您需要的框架。