【发布时间】:2013-03-05 02:22:57
【问题描述】:
错误;
undefined symbols for architecture i386:
"_AudioSessionSetProperty", referenced from:
-[AppDelegate applicationDidFinishLaunching:] in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我正在使用的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Set AudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
/* Pick any one of them */
// 1. Overriding the output audio route
//UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker;
//AudioSessionSetProperty(kAudioSessionProperty_OverrideAudioRoute, sizeof(audioRouteOverride), &audioRouteOverride);
// 2. Changing the default output audio route
UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);
[self.window addSubview:rootController.view];
[self.window makeKeyAndVisible];
return YES;
}
(来自https://devforums.apple.com/thread/90684?start=0&tstart=0和this app was developed and works fine under ios 5.0, but crashes under ios 4.3和How do I get my AVPlayer to play while app is in background?)
最后是我的清单:
问题是什么?在我的 appdelegate 标题中:
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
#import <AudioToolbox/AudioToolbox.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, AVAudioPlayerDelegate> {
}
似乎所有东西都是进口的。我做错了什么?
【问题讨论】:
-
您是否在应用程序中包含了 AudioToolbox?,如果是,则一次删除并再次通过右键单击框架 -> 添加 -> 现有框架将 AudioToolbox 和 AVFoundation 框架添加到您的项目中
-
哇,这很奇怪......它在左侧显示了框架,但它不在我的构建阶段。现在建造!谢谢!
-
它仍然不会在后台播放音频,至少在模拟器上是这样
-
用于播放音频,您使用的是哪个代码?
-
我的意思是你可以发布代码吗?
标签: iphone ios objective-c avplayer