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

时间:2014-10-20 00:52:40

标签: xcode cocoapods

我刚刚升级到OS 10.10 Yosemite和Xcode 6,但是在使用CocoaPods依赖项构建我的iOS应用程序时遇到了问题。

完成清理和构建后,我得到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(其他链接标志)有关,因为如果我通过转到我的应用程序目标来重新排序我的pod - >构建设置 - >其他链接器标志和重新排序该列表上的项目,我可以让其他pod以相同的方式生成链接器错误(所以至少它不是AFNetworking的问题)。 Cocoapods和xCode不会产生任何其他错误或警告。

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

  • 使用以下内容更新至最新版本的Cocoapods:sudo gem update cocoapods

  • 评论我的podfile中的所有pod,运行pod update清除它们然后取消注释它们并运行pod update以重新下载并安装所有依赖项。

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

不幸的是,这些步骤都没有修复这个错误,所以我猜我在项目中需要调整一些构建设置,但我不确定下一步该尝试什么。

5 个答案:

答案 0 :(得分:41)

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

答案 1 :(得分:29)

要解决此问题,我必须删除应用程序目标下的libPods.a - > 一般 - > 链接的框架和库。它以红色突出显示(意思是没有用),但我并不需要更换它;简单地清除就足够了。

答案 2 :(得分:6)

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

答案 3 :(得分:1)

我遇到了同样的问题。

我的问题是构建活动架构'在我的目标和我的Pods目标上并没有完全匹配。

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

答案 4 :(得分:0)

  1. 转到"项目目标 - >构建设置 - >预处理 - >预处理器宏"。设置" COCOAPODS = 1"在"预处理器宏"

  2. 下的所有调试,集成,发布中
  3. 在"其他链接标记中添加以下内容"根据"项目目标" $继承 -ObjC -lc ++ -all_load

  4. 将部署目标从7.0升级到8.0并启用use_frameworks后出现同样的问题!