xcode4“dyld:未找到符号:_OBJC_CLASS _ $ _ AVCaptureDevice”错误

时间:2011-04-24 16:06:43

标签: ios4 xcode4 avfoundation simulator zxing

我的iphone应用程序在IOS 4.3模拟器中运行,但没有任何其他IOS 4.0+模拟器。即使它会在那里运行。

我收到以下错误 -

  

GNU gdb 6.3.50-20050815(Apple版gdb-1518)(2011年2月12日星期六02:52:12 UTC)   版权所有2004 Free Software Foundation,Inc。   GDB是免费软件,由GNU通用公共许可证涵盖,您就是   欢迎在某些条件下更改和/或分发它的副本。   输入“show copying”查看条件。   GDB完全没有保修。输入“show warranty”了解详情。   此GDB配置为“x86_64-apple-darwin”。附加处理71564。   dyld:未找到符号:_OBJC_CLASS _ $ _ AVCaptureDevice     参考自:/ Users / qianfan / Library / Application Support / iPhone Simulator / 4.2 / Applications / XXXX-XXXX / XXXX.app / XXXX     预期在:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/System/Library/Frameworks/AVFoundation.framework/AVFoundation    in / Users / qianfan / Library / Application Support / iPhone Simulator / 4.2 / Applications / XXXX-XXXX / XXXX.app / XXXX   sharedlibrary apply-load-rules all   (gdb)

我的应用正在使用(静态引用)最新的ZXing iphone代码(截至2011-03-31 2001-04-24测试的两个版本)。

我相信AVCaptureDevice存在于所有iOS 4.0 +和zxing中,支持ios 4.0 +。 当我这样做时:

  

Macintosh:zxing-trunk XXX $ grep _OBJC_CLASS _ $ _ AVCaptureDevice /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/AVFoundation.framework/*   二进制文件/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/AVFoundation.framework/AVFoundation匹配

有什么建议吗?我会在这找什么?非常感谢你。

3 个答案:

答案 0 :(得分:8)

我只想提一下mmilo的答案(关于将'Required'改为'Optional')为我解决了问题。只需单击AVFoundation.framework(在Project视图中的Frameworks文件夹下),然后确保打开最右侧视图窗口。您可以在此处将“目标成员资格”从“必需”更改为“可选”。

我的具体问题与梅尔文相同。使用4.3 SDK时,我无法让我的项目在4.2模拟器上编译,因为它无法找到AVCaptureDevice类。

答案 1 :(得分:3)

AVFoundation框架在模拟器中不起作用。仅限于设备。

答案 2 :(得分:0)

看起来您的项目没有与AVFoundation链接..也许您在版本级别上链接?这可以解释为什么它建立在一个而不是其他的基础上。