为什么这个调试版本引用了一个发布库?

时间:2011-03-14 03:21:14

标签: iphone objective-c ios4 xcode4

我刚刚安装了Xcode 4,并且在我的项目中出现了这个错误:

ld: warning: directory not found for option '-LDebug-iphonesimulator4.3'
ld: warning: ignoring file /Developer/Projects/BuildOutput/Release-iphoneos/libMyFramework.a, missing required architecture i386 in file
Undefined symbols for architecture i386: 
"_OBJC_CLASS_$_MyRandomNumber", referenced from:
objc-class-ref in myAppDelegate.o 
objc-class-ref in RootViewController.o

我将项目设置为iOS 4.3 Simulator。我确实检查了该方案,并设置为调试构建配置。为什么它引用了上述库的Release版本?

此外,i386错误是什么?

1 个答案:

答案 0 :(得分:0)

我也看到了这种类型的错误。奇怪的是,我一直在模拟器下成功构建,链接和运行。我刚刚尝试在我的iPhone上启动我的应用程序,并且在链接过程中完全被轰炸了。

我以前在iPhone上运行我的应用程序。去年我一直在Xcode 3.2.x下构建它,并且从未见过这个问题。

其他几个SO线程表明它可能是由于将框架复制到项目文件夹中,而且应该只是“移动框架”。好的。我在哪里,以及如何让Xcode知道它在哪里?如果这不是问题,那么是什么?

Xcode 4有很多承诺,但有时候它会疼痛......