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

时间:2015-01-20 15:13:55

标签: ios parse-platform linker-errors

我在项目中添加了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)

2 个答案:

答案 0 :(得分:1)

您还必须按照快速入门页面上的步骤2中所述添加Parse SDK附带的 Bolts.framework

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

并确保它列在"构建阶段 - >将Binary与Libraries联系起来。"

答案 1 :(得分:-1)

修改

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

找到了这个。


  1. 这通常发生在您的多个具有相同名称的类中。您可能已经包含了一次以上的文件。
  2. 同时检查您是否有机会将.m文件导入某个文件。