0

我希望对我最新的 Apple Mach-O Linker Error 有所帮助,如下所示:

架构 armv7 的未定义符号:
  “_kPFErrorCacheMiss”,引用自:
      ___48-[PFQueryTableViewController loadObjects:clear:]_block_invoke in ParseUI(PFQueryTableViewController.o)
  “_kPFErrorUnsavedFile”,引用自:
      - [PFImageView loadInBackground:] 在 ParseUI(PFImageView.o)
  “_kPFErrorInvalidImageData”,引用自:
      ___32-[PFImageView loadInBackground:]_block_invoke30 in ParseUI(PFImageView.o)
ld:未找到架构 armv7 的符号
clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

Apple Mach-O 链接器错误

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

$ pod update

这将我的 CocoaPods 依赖项更新为:

螺栓 1.1.4
Facebook-iOS-SDK 3.23.2
解析 1.7.1
ParseCrashReporting 1.7.1
解析FacebookUtils 1.7.1
ParseUI 1.1.3

关于我在这里缺少什么的任何建议?我将不胜感激!

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

更新

运行时,我从 CocoaPods 收到以下错误pod install

[!] `MyApp [Debug]` 目标覆盖了 `Pods/Target Support Files/Pods/Pods.debug.xcconfig' 中定义的 `OTHER_LIBTOOLFLAGS` 构建设置。这可能会导致 CocoaPods 安装出现问题
    - 使用 `$(inherited)` 标志,或
    - 从目标中删除构建设置。

[!] `MyApp [Debug]` 目标覆盖了 `Pods/Target Support Files/Pods/Pods.debug.xcconfig' 中定义的 `OTHER_LDFLAGS` 构建设置。这可能会导致 CocoaPods 安装出现问题
    - 使用 `$(inherited)` 标志,或
    - 从目标中删除构建设置。

[!] `MyApp [Release]` 目标覆盖了 `Pods/Target Support Files/Pods/Pods.release.xcconfig' 中定义的 `OTHER_LIBTOOLFLAGS` 构建设置。这可能会导致 CocoaPods 安装出现问题
    - 使用 `$(inherited)` 标志,或
    - 从目标中删除构建设置。

[!] `MyApp [Release]` 目标覆盖了 `Pods/Target Support Files/Pods/Pods.release.xcconfig' 中定义的 `OTHER_LDFLAGS` 构建设置。这可能会导致 CocoaPods 安装出现问题
4

1 回答 1

3

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

简单地说: CocoaPods 告诉确保您当前的设置不会覆盖 CocoaPods 推荐的设置,以便您的项目可以“找到”您通过 CocoaPods 导入的框架。

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

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

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

然后清理您的项目,并再次构建。看看这是否有帮助。

于 2015-04-11T16:45:32.507 回答