シンプルなmp3を再生するシンプルなアプリを試してみましたが、なんらかの理由で何を試しても同じエラーが発生します。AVFoundation/AVAudioPlayer を含めるたびに実行に失敗し、クラッシュします。しかし、そのフレームワークを削除すると、正常に動作します。助けてください。
これは私が受け取るエラーです..
ld: warning: ignoring file /Users/nnamdiokeke/Desktop/Play/AVFoundation.framework/AVFoundation, file was built for unsupported file format ( 0xce 0xfa 0xed 0xfe 0x c 0x 0 0x 0 0x 0 0x 9 0x 0 0x 0 0x 0 0x 6
0x 0 0x 0 0x 0 ) which is not the architecture being linked (i386): /Users/nnamdiokeke/Desktop/Play/AVFoundation.framework/AVFoundation
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_AVAudioPlayer", referenced from:
objc-class-ref in ViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
コードは以下に貼り付けます。
ヘッダー ファイル
//
// ViewController.h
// Play
//
// Created by Nnamdi Okeke on 9/13/12.
// Copyright (c) 2012 Nnamdi Okeke. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <AVFoundation/AVAudioPlayer.h>
@interface ViewController : UIViewController <AVAudioPlayerDelegate> {
AVAudioPlayer *song;
NSURL *songlink;
}
@property (nonatomic, retain) AVAudioPlayer *song;
-(IBAction)play:(id)sender;
@end
実装ファイル
//
// ViewController.m
// Play
//
// Created by Nnamdi Okeke on 9/13/12.
// Copyright (c) 2012 Nnamdi Okeke. All rights reserved.
//
#import "ViewController.h"
#import <AVFoundation/AVAudioPlayer.h>
@implementation ViewController
- (void)viewDidLoad
{
songlink = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"A4Hood" ofType:@"mp3"]];
song = [[AVAudioPlayer alloc] initWithContentsOfURL:songlink error:nil];
song.delegate = self;
//[song play];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
-(IBAction)play:(id)sender {
songlink = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"A4Hood" ofType:@"mp3"]];
song = [[AVAudioPlayer alloc] initWithContentsOfURL:songlink error:nil];
song.delegate = self;
[song play];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
@end