ang*_*okh 327 iphone objective-c ios xcode4.3 cocoapods
归档项目时出错.这是我的环境.
项目部署目标是:
IPHONEOS_DEPLOYMENT_TARGET 3.2
Run Code Online (Sandbox Code Playgroud)
错误显示:
ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我想Pods是我用来管理XCode项目依赖项的CocoaPods. https://github.com/CocoaPods/CocoaPods
这是我的Podfile
platform :ios
dependency 'libPusher', '1.1'
Run Code Online (Sandbox Code Playgroud)
我不确定错误是什么意思?
all*_*loy 606
你打开工作区(由CocoaPods生成)而不是xcodeproj?
And*_*ani 173
我使用了将应用程序和Podfile中的测试目标分开
target :App do
…
end
target :AppTests do
…
end
Run Code Online (Sandbox Code Playgroud)
这导致了两个新产品libPods-App.a和libPods-AppTests.a,它们分别使之前的产品libPods.a过时了.我不得不从两个目标的Build Phases配置的Link Binary With Libraries部分中删除此产品.
Bes*_*esi 119
我今天遇到了类似的问题.
Preview以及现有的Debug和Release现在编译这个新Preview配置时,编译器将无法与Pod链接并向我发送以下消息:
ld: library not found for -lPods
Run Code Online (Sandbox Code Playgroud)我要做的就是奔跑
pod install
Run Code Online (Sandbox Code Playgroud)
再次,从而为新Preview配置配置cocoapods .它更新了我的项目,工作区和Pod的项目文件,问题就消失了
Hem*_*ang 53
不是一个解决方案对我有用,这真是难以忍受,有一个文件libpods.a(红色)我删除它,一切正常!为我干杯;)
Ayu*_*oel 46
我已经将我的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
Run Code Online (Sandbox Code Playgroud)
跑了一个 pod install
这创建了一个libPods-ABC.a我的二进制文件必须链接到的新库.但是错误是它没有删除以前的库,即libPods.a.
解决方案:删除该库libPods.a从Build Phases的Link Binary With Libraries.
Seb*_*jas 46
我指定了一个旧的libPod.a文件(可能是由我更改目标引起的).
项目设置 - > 构建阶段 - > 链接二进制文件与库
通常,cocoapods只包含一个库,例如libPods-target.a或libPods.a.我通过删除副本解决了它.
joh*_*ope 44
如果你在cocoapods v25/Xcode 5上遇到这个问题
Pods Xcode项目现在在Debug配置中将ONLY_ACTIVE_ARCH构建设置设置为YES.您必须在项目/目标上设置相同的内容,否则构建将失败.
更新确保您有最新的宝石/ cocoapods
您将需要使用Pod Install重建项目以重建项目.
Hor*_*ain 39
如果Xcode在链接时抱怨,例如找不到-lPods的库,则它不会检测隐式依赖项.
转到产品>编辑方案单击构建添加Pods静态库,并确保它位于列表顶部清理并再次构建如果这不起作用,请验证您尝试包含的规范的源是否已从github拉出来.通过查看/ Pods /来做到这一点.如果它是空的(它不应该是),请验证〜/ .cocoapods/master // .podspec中是否包含正确的git hub url.如果仍然无效,请检查您的XCode构建位置设置.转到首选项 - >位置 - >派生数据 - >高级,并将构建位置设置为"相对于工作区".
http://docs.cocoapods.org/guides/getting_started.html
Kha*_*jar 36
当我编辑Podfile添加我以前没有使用目标的目标时,我遇到了同样的问题.
target 'xxxx' do
pod 'xyz'
pod 'abc'
end
Run Code Online (Sandbox Code Playgroud)
想知道我发现在目标属性>>常规选项卡>>链接框架和库部分下,有新的libPods-xxxx.a和旧的libPods.a
我刚刚删除了libPods.a,一切正常.
Chr*_*uer 27
GuitHub上的CocoaPods维基在他们的FAQ中有答案:
Product > Edit SchemeBuild<Project Dir>/Pods/<Name of spec you are trying to include>.如果它是空的(它不应该是),请验证其中~/.cocoapods/master/<spec>/<spec>.podspec是否包含正确的github URL.Preferences -> Locations -> Derived Data -> Advanced并将构建位置设置为"Relative to Workspace".
Nal*_*ene 12
我将项目重命名为"合作伙伴"中的"NBSelector".
重命名项目后,我找到了"libPods-Partners找不到库"错误.Xcode试图链接到旧的Partners.a文件.如果在重命名后有podInstalled,请将其删除.

小智 11
在所有pod中使用ONLY_ACTIVE_ARCH = NO解决了我的问题.为了使这个持久化,我在我的Podfile中添加了一个post_install钩子:
post_install do |installer_representation|
installer_representation.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
end
end
end
Run Code Online (Sandbox Code Playgroud)
pod install 你完成了
您是否创建了"分发"或类似配置来制作Ad-Hoc和App Store档案?像许多其他人一样,我遵循Apple的建议并称之为"发布"配置,称为"发布"并为其设置不同的签名规则.好吧,也许这是他们在组织者中引入方案和"分发"选项之前的建议,无论如何,我刚刚从之前获得过它.
然后我和Pods有同样的问题.调试时一切运行良好,但归档失败,链接错误.尝试此操作后,我将原始项目的存档配置从"分发"更改为"发布",链接错误消失了.
然而,存档没有显示在Organizer中,虽然我可以在文件系统中找到它,但它有0大小.
修复所有这一切的最后一步是将"释放"配置的"跳过安装"设置更改为"否".请注意,您必须仅为主项目执行此操作,而不是为Pods项目执行此操作.最好保留Pods项目,因为每次运行"pod install"时都会生成它.
更新 刚从CocoaPods devs得到答案 它似乎对我不起作用,因为我正确设置了Pods配置.但它可以帮助别人.
在我的情况下,问题是Xcode的派生数据位置设置为"遗留"选项.CocoaPods目标(libPods.a)正在构建正确,但Xcode正在寻找错误的位置.
将其切换为"唯一"(默认)解决了这个问题.您可以通过转到"首选项">"位置"并单击"高级..."按钮来执行此操作.
小智 5
只有将"库搜索路径"(在"MyProject"的构建设置中)添加到"Pods/build/Debug-iphonesimulator"才能为我工作(使用模拟器时).
从这里得到它:https: //github.com/CocoaPods/CocoaPods/issues/121#issuecomment-5452473
| 归档时间: |
|
| 查看次数: |
155602 次 |
| 最近记录: |