解析链接错误 iOS7 ("Undefined symbols for architecture armv7: "_kPFErrorCacheMiss","kPFErrorUnsavedFile","kPFErrorInvalidImageData")

Parse linking errors iOS7 ("Undefined symbols for architecture armv7: "_kPFErrorCacheMiss","kPFErrorUnsavedFile","kPFErrorInvalidImageData" )

我希望在我最新的 Apple Mach-O 链接器错误方面得到一些帮助,它看起来像这样:

Undefined symbols for architecture armv7:
  "_kPFErrorCacheMiss", referenced from:
      ___48-[PFQueryTableViewController loadObjects:clear:]_block_invoke in ParseUI(PFQueryTableViewController.o)
  "_kPFErrorUnsavedFile", referenced from:
      -[PFImageView loadInBackground:] in ParseUI(PFImageView.o)
  "_kPFErrorInvalidImageData", referenced from:
      ___32-[PFImageView loadInBackground:]_block_invoke30 in ParseUI(PFImageView.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这些错误似乎是在抱怨 Parse 或 ParseUI 框架的某些部分。我刚刚使用此命令通过 CocoaPods 更新到这些 Parse 框架的最新版本。

$ pod update

将我的 CocoaPods 依赖项更新为:

Bolts 1.1.4
Facebook-iOS-SDK 3.23.2
Parse 1.7.1
ParseCrashReporting 1.7.1
ParseFacebookUtils 1.7.1
ParseUI 1.1.3

对我在这里遗漏的内容有什么建议吗?我将不胜感激!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~

更新

当我 运行 pod install

时,我从 CocoaPods 收到以下错误
[!] The `MyApp [Debug]` target overrides the `OTHER_LIBTOOLFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Debug]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Release]` target overrides the `OTHER_LIBTOOLFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `MyApp [Release]` target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation

一旦您清理了从 CocoaPods 获取的 errors/warnings,您的问题就应该得到解决。不应忽略您从 CocoaPods 收到的这些警告,因为它们告诉您当前的构建设置以及 CocoaPods 构建提供的自动生成的构建设置存在潜在冲突。

简单地说: CocoaPods 告诉您要确保您当前的设置不会覆盖 CocoaPods 推荐的设置,这样您的项目就可以 "find"您通过 CocoaPods 导入的框架。

要解决此问题,您可以将 $(inherited) 添加到这两个设置中:

<Your Target> > Build Settings > Linking > Other Librarian Flags 
<Your Target> > Build Settings > Linking > Other Linker Flags 

并确保这些设置中没有任何其他冲突项。

然后清理您的项目,然后重新构建。看看这是否有帮助。