1

我在我的 Podfile 中添加了一个 pod,并在构建时遇到了编译器错误:

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_CLLocation", referenced from:
     objc-class-ref in MoPubAdapter(GADMAdapterMoPub.o)
  ld: symbol(s) not found for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

然后我去Build Settings > Target > Debug > Other Linker Files手动添加-framework"CoreLocation"

在此处输入图像描述

编译器不再抱怨了。我认为它们被遗忘为吊舱的先决条件。

现在我不喜欢手动更改此值的事实。如果 Cocoapods ie 再次覆盖这个值,我可能会忘记这样做。有没有办法让我将CoreLocation框架添加到 Podfile 以便 Cocoapods 负责包含它?

谢谢

4

2 回答 2

0

恐怕没有办法做到这一点。Apple 不提供其核心框架对Cocoapods. 作为测试,您可以在 Cocoapods 上搜索任何核心库。你不会发现的。作为一个简短的测试,如果您尝试pod CoreLocationPodfile中进行设置,以下是结果。

在此处输入图像描述

可悲的是,手动修复此问题是唯一的解决方法。

于 2018-02-03T13:49:49.033 回答
0

您可以在 Podfile 中将依赖项添加到仅向 CoreLocation 添加依赖项的最小 CocoaPod。有关创建 podspec 的信息,请参见此处,有关从本地路径引用 podspec 的信息,请参见此处。

更好的解决方案是更新有问题的 pod 的 podspec 以将 CoreLocation 添加为framework

于 2018-02-05T16:12:23.197 回答