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
从头开始重新安装荚
遗憾的是没有这些措施修复了这个错误,所以我猜有一些构建设置,我需要调整我的项目,但我不确定接下来要尝试什么。
为了解决这个问题,我不得不删除libPods.a
下应用目标 - >一般 - >链接的框架和库。它以红色突出显示(意思不明),但我不需要替换它;简单地清理就足够了。
我也注意到突出显示的红色libPods.a文件。如果觉得不正确,请删除它。在阅读你的建议后,我大胆地将其删除。但它并没有解决原来的问题。 我想知道为什么。 – 2014-10-22 07:05:00
我假设你和我有同样的错误?也许我列出的其他事情之一会帮助或做那些不起作用? – Nick 2014-10-22 07:07:18
我和你有同样的问题。 – 2014-10-31 09:29:33
仔细检查您是否打开.xcworkspace
文件而不是.xcodeproj
文件,这是导致此类问题的常见错误。
解决了问题而不删除东西。谢谢! – StefMa 2014-11-28 09:08:27
是的,这绝对解决了这个问题。 – 2015-07-03 11:06:10
对我来说,问题是我的项目和Cocoapod的构建配置不匹配,这(我认为)意味着他们正在寻找编译库的不同目录。
我有同样的问题。
我的问题是我的目标上的“Build Active Architectures”,我的Pod目标完全不匹配。
使它们相同后问题就解决了。
转到“项目目标 - >生成设置 - >预处理 - >预处理器宏”。设置“的CocoaPods = 1”中的所有调试,集成,在“预处理宏”
-
版本添加以下下的“计划目标” $继承 -ObjC -lC++ -all_load
“其他链接器标记” 将部署目标从7.0升级到8.0并启用use_frameworks后出现同样的问题!
我有同样的问题,并花了永恒的尝试找到解决方案。 – ZaBlanc 2014-11-10 22:35:29
我忘了从CocoaPods中读取一条重要的代码,它说使用xcworkspace文件打开项目,而不是xcodeproj文件。这解决了我的问题。 – thsorens 2014-11-13 12:55:14
@thsorens尼斯,很高兴你解决它。这总是很重要,否则没有任何工作,所以感谢提醒(虽然这显然不是我的问题)。 – Nick 2014-11-14 03:55:56