我存档一个项目时出错了。这就是我的环境。
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'
我不确定这个错误是什么意思?
你是否创建了“分销”或类似的配置来制作Ad-Hoc和App Store存档?
像许多其他人一样,我遵循了苹果的建议,将其命名为“发布”配置,并将其称为“分发”,并为其设置了不同的签名规则。好吧,也许这是他们在组织者中引入计划和“分发”选项之前的一个建议,不管怎样,我只是之前有过。
然后我对豆荚也有同样的问题。调试时一切正常,但存档失败,链接错误。在尝试了这个和那个之后,我把我原始项目的存档配置从“分发”改为“发布”,链接错误消失了。
然而,归档没有显示在组织者,虽然我可以在文件系统中找到它,但它的大小为0。
解决这一切的最后一步是改变“跳过安装”设置为“发布”配置为“NO”。注意,你只需要在你的主项目中这样做,而不是在Pods项目中。最好让pod项目保持原样,因为它是在每次运行“pod install”时生成的。
更新
刚刚得到CocoaPods开发人员的答复
它似乎对我不起作用,因为我已经正确设置了Pods配置。
但它可以帮助其他人。
CocoaPods在GitHub上的wiki在他们的常见问题解答中有正确的答案:
Go to Product > Edit Scheme
Click on Build
Add the Pods static library, and make sure it's at the top of the list
Clean and build again
If that doesn't work, verify that the source for the spec you are trying to include has been pulled from github. Do this by looking in <Project Dir>/Pods/<Name of spec you are trying to include>. If it is empty (it should not be), verify that the ~/.cocoapods/master/<spec>/<spec>.podspec has the correct github url in it.
If still doesn't work, check your XCode build locations settings. Go to Preferences -> Locations -> Derived Data -> Advanced and set build location to "Relative to Workspace".