Xcode 6.1和Cocaopods集成/依赖项错误 - 库找不到-lPods- {Pod Name}

问题描述:

我刚刚升级到OS 10.10 Yosemite和Xcode 6,并且无法让我的iOS应用程序与CocoaPods依赖关系构建。Xcode 6.1和Cocaopods集成/依赖项错误 - 库找不到-lPods- {Pod Name}

做了清理并生成我得到一个Apple Mac-O Linker Error如下图所示

Ld /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList normal i386 
    cd "/Users/nick/Dropbox/ToWatchList/ToWatchList App" 
    export IPHONEOS_DEPLOYMENT_TARGET=8.0 
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App/Pods/CrashlyticsFramework -F/Users/nick/Dropbox/ToWatchList/ToWatchList\ App -filelist /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-AuxRepo -lPods-CrashlyticsFramework -lPods-Reachability -lPods-SSKeychain -lPods-SVProgressHUD -lPods-Tapstream -framework CoreGraphics -framework Crashlytics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.0 -lz -lPods -Xlinker -dependency_info -Xlinker /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Intermediates/ToWatchList.build/Release-iphonesimulator/ToWatchList.build/Objects-normal/i386/ToWatchList_dependency_info.dat -o /Users/nick/Library/Developer/Xcode/DerivedData/ToWatchList-cesjouowyxujojcvvxsvupagyozc/Build/Products/Release-iphonesimulator/ToWatchList.app/ToWatchList 

ld: library not found for -lPods-AFNetworking 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

它似乎有与OTHER_LDFLAGS(其它链接器标记)在我的项目的东西,因为如果我首先要重新安排我的荚后,我应用程序目标 - >构建设置 - >其他链接器标志,并重新排序列表上的项目,我可以得到其他的豆荚以同样的方式生成链接器错误(所以至少它不是AFNetworking的问题)。 Cocoapods和xCode不会产生任何其他错误或警告。

到目前为止,我已经试过:

  • 更新到的CocoaPods与最新版本:sudo gem update cocoapods

  • 谈到了所有的豆荚在我podfile,运行pod update清除它们全部出来,然后取消注释并运行pod update重新下载并安装所有依赖项。

  • 删除我的荚文件夹,并锁定文件,然后运行pod install从头开始重新安装荚

遗憾的是没有这些措施修复了这个错误,所以我猜有一些构建设置,我需要调整我的项目,但我不确定接下来要尝试什么。

+0

我有同样的问题,并花了永恒的尝试找到解决方案。 – ZaBlanc 2014-11-10 22:35:29

+2

我忘了从CocoaPods中读取一条重要的代码,它说使用xcworkspace文件打开项目,而不是xcodeproj文件。这解决了我的问题。 – thsorens 2014-11-13 12:55:14

+1

@thsorens尼斯,很高兴你解决它。这总是很重要,否则没有任何工作,所以感谢提醒(虽然这显然不是我的问题)。 – Nick 2014-11-14 03:55:56

为了解决这个问题,我不得不删除libPods.a应用目标 - >一般 - >链接的框架和库。它以红色突出显示(意思不明),但我不需要替换它;简单地清理就足够了。

+2

我也注意到突出显示的红色libPods.a文件。如果觉得不正确,请删除它。在阅读你的建议后,我大胆地将其删除。但它并没有解决原来的问题。 我想知道为什么。 – 2014-10-22 07:05:00

+0

我假设你和我有同样的错误?也许我列出的其他事情之一会帮助或做那些不起作用? – Nick 2014-10-22 07:07:18

+0

我和你有同样的问题。 – 2014-10-31 09:29:33

仔细检查您是否打开.xcworkspace文件而不是.xcodeproj文件,这是导致此类问题的常见错误。

+2

解决了问题而不删除东西。谢谢! – StefMa 2014-11-28 09:08:27

+0

是的,这绝对解决了这个问题。 – 2015-07-03 11:06:10

对我来说,问题是我的项目和Cocoapod的构建配置不匹配,这(我认为)意味着他们正在寻找编译库的不同目录。

我有同样的问题。

我的问题是我的目标上的“Build Active Architectures”,我的Pod目标完全不匹配。

使它们相同后问题就解决了。

  1. 转到“项目目标 - >生成设置 - >预处理 - >预处理器宏”。设置“的CocoaPods = 1”中的所有调试,集成,在“预处理宏”

  2. 版本添加以下下的“计划目标” $继承 -ObjC -lC++ -all_load

    “其他链接器标记”
  3. 将部署目标从7.0升级到8.0并启用use_frameworks后出现同样的问题!