Parse.framework 的链接器错误(未定义的符号)

Linker errors (undefined symbols) with Parse.framework

我将 Parse.framework 添加到我的项目中。在AppDelegate.m中,我只是导入它并设置应用程序ID。看起来不错,但是当我 运行 它时,我得到 4 个错误。

我还应该添加哪些其他框架,或者我还应该做什么?

以下是我添加的框架:

AudioToolbox.framework
CFNetwork.framework
CoreGraphics.framework
CoreLocation.framework
MobileCoreServices.framework
QuartzCore.framework
Security.framework
StoreKit.framework
SystemConfiguration.framework
libz.dylib
libsqlite3.dylib
Parse.framework

这是我遇到的错误:

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_BFExecutor", referenced from:
objc-class-ref in Parse(Parse.o)//And other six

"_OBJC_CLASS_$_BFTask", referenced from:
objc-class-ref in Parse(Parse.o)//And other six

"_OBJC_CLASS_$_BFTaskCompletionSource", referenced from:
objc-class-ref in Parse(PFOfflineStore.o)//And other six

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

编辑

Undefined symbols for architecture i386: _OBJC_CLASS_$_SKPSMTPMessage", referenced from: error

找到这个。


  1. 当您的 类 中有多个同名时,通常会发生这种情况。您可能多次包含一个文件。
  2. 还要检查您是否将 .m 文件导入到某个文件中。

您还必须添加 Parse SDK 附带的 Bolts.framework,如快速启动页面上第 2 步所述:

https://www.parse.com/apps/quickstart#parse_data/mobile/ios/native/existing

并确保它列在 "Build Phases -> Link Binary with Libraries."