XCode链接器没有在通过cocoapod构建的框架内找到框架或某些库

时间:2017-03-06 18:57:06

标签: cocoapods

我刚从手册转到CocoaPods。我尝试的第一件事是Urban Airship。我得到了所有编译,但我得到以下链接器错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_UAConfig", referenced from:
      objc-class-ref in AppDelegate.o
  "_OBJC_CLASS_$_UAirship", referenced from:
      objc-class-ref in HomeScreenViewCtr.o
      objc-class-ref in MyProfileViewController.o
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是我的pods构建设置屏幕截图,显示它正在构建Urban Airship框架。

build settings

我的XCode文件打开到xcworkspace文件而不是xcodeproj。

现在我不知道我是否应该添加Urban Airship框架我的Build Phases" Link Binary with Libraries"。它似乎创建了一个以我自己的应用程序命名的pod,如果它位于" Link Binary With ..."中。什么应该列在"框架"文件夹和黄色" Pods"我的主文件/文件夹导航器中的文件夹?

1 个答案:

答案 0 :(得分:0)

好的,我明白了。 " $(继承)"我的"框架搜索路径"我的构建目标。我做了#34; pod设置"命令,但它显然忘记正确设置我的框架搜索路径。

详细答案:

设置框架搜索路径 Framework Search Path

将cocoapods框架添加到Build Phases,但不要添加Pod_your_app_name.framework enter image description here

在主导航器中:不要尝试添加与cocoapod框架相关的任何内容,例如AirshipKit到您的黄色" Pods"文件夹,但它应该出现在您的黄色"框架"文件夹中。

如果你真的在寻找CocoaPods的内部工作,你会发现你的可可豆荚框架深入你的〜/ Library / Developer / Xcode / DerivedData目录。各种编译变量指向该方向。