由于其架构“XXX”不包含所有所需的架构,Pods被拒绝作为“libPods.a”的隐式依赖项。

47

我的朋友在我们的项目中更新了Cocoapods。当我从git拉取最新的内容时,我遇到了以下错误:

Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'x86_64' didn't contain all required architectures 'i386'

这会导致
ld: library not found for -lPods-___PODLIBRARY____
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经花了数小时在寻找它。我尝试过的最常见的解决方法是..

  • 删除派生数据
  • 删除构建数据
  • 删除pods,并使用'pod install'重新安装
  • 清理项目
  • 同时执行以上所有操作
  • 在我们的项目和Pod项目中尝试了“仅构建活动架构”,并将armv7和armv7s作为硬编码插入,而不是$变量
  • 在我们的项目和Pod项目中尝试了“架构”,并将armv7和armv7s作为硬编码插入,而不是$变量

我们的目标是iOS 8,iPhone。

我的朋友通过组合前4个选项使其工作,但我无法做到。

有人有什么建议吗?我们应该在圣诞节前发布,所以生产时间非常宝贵:D


你解决了吗? - Braian Mellor
类似的问题和解决方案:https://dev59.com/BlcP5IYBdhLWcg3wVok6 - Arshin
6个回答

125

尝试将“Pods”项目和您的应用程序目标中的Build Active Architecture Only设置为NO


3
对我而言,解决这个问题的方法恰恰相反:在主目标和Pods目标+Debug和Release中都将“仅构建活动架构”设置为“是”。 - Catarino

4

对我而言,有效的方法是将CocoaPod项目的“Base SDK”更改为“Latest iOS”。


1

尝试在模拟器上先在iPhone 4s上运行项目,然后它应该可以工作。


1
我遇到的问题得到解决的方法恰好与最受欢迎的答案完全相反:
在主目标和Pods目标+Debug和Release中,将“仅构建活动架构”设置为“是”。

0
在我的情况下,是因为我将“仅构建活动架构”参数设置为Debug模式下的Yes。将其更改为No即可解决问题。

0

同时确保你的podfile与项目目标相同的iOS版本:

例如,如果你在Xcode项目中的目标是iOS 10.0,那么你的podfile顶部也应该包含platform :ios, '10.0'。

根据这个解决方案,这是我遇到的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接