我存档一个项目时出错了。这就是我的环境。
Mac OS Lion
Xcode 4.3.1
iOS SDK 5.1
项目部署目标为:
IPHONEOS_DEPLOYMENT_TARGET 3.2
错误显示:
ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我猜Pods就是我用来管理XCode项目依赖的CocoaPods。
https://github.com/CocoaPods/CocoaPods
这是我的Podfile
platform :ios
dependency 'libPusher', '1.1'
我不确定这个错误是什么意思?
我使用旧的cocoapod版本后更新了cocoapods,它建议我更新我安装的pod,因为我更新了很长一段时间。我更新了它,新版本pod更新得很好。但在那之后,我得到了像库没有找到-lPods-xxxprojectName-xxxxxpodName这样的错误
在尝试了这么多的解决方案后,给出的答案在这个thrred,这不是为我工作。然后我去我的项目设置,发现豆荚路径是改变,这是在其他链接标志
检查你的管理方案,以获得正确的pod名称,并在其他链接标志中进行比较,如果不相似,请更改它
旧吊舱路径是l -“lpods - xxxprojectnaxxxxpodname”
但是新的pods只有xxxxxpodName,所以我用新的替换了其他链接标志,如下所示
改为pod路径-l"xxxxxpodName",它是有效的。
我不知道这背后的完美原因,但这可能会帮助一些人。
我把我的pod列表在Podfile中划分为不同的目标,比如:
target :ABC do
pod 'KissXML', '~> 5.0'
pod 'libPhoneNumber-iOS', '~> 0.7.2'
end
target :ABCTests do
pod 'OCMock', '~> 2.2.1', :inhibit_warnings => true
end
然后安装了吊舱
这创建了一个新的库libPods-ABC。我的二进制文件必须链接到的A。但错误是它没有删除之前的库,即libPods.a。
解决方案:删除libPods库。a来自Link Binary With Libraries的构建阶段。