【发布时间】:2013-09-23 18:55:36
【问题描述】:
在新的 XCode5 中构建我的项目时,我收到以下警告:Pods-App 作为“libPods-App.a”的隐式依赖被拒绝,因为它的架构“i386”不包含所有必需的架构'x86_64'。
【问题讨论】:
在新的 XCode5 中构建我的项目时,我收到以下警告:Pods-App 作为“libPods-App.a”的隐式依赖被拒绝,因为它的架构“i386”不包含所有必需的架构'x86_64'。
【问题讨论】:
要解决此问题,请在左侧菜单中选择 Pods 项目,然后在 targets 部分下选择 Pods-#YourAppName# 目标并在 构建设置 点击 Architectures 并按删除,这样它就会转到默认选项(标准架构(armv7、armv7s)。更多信息可以在这个@ 987654321@.
【讨论】:
32-bit Intel (i386) 来制作我的 32 位。然后对于每个 Pod target,我和你做的一样,并将它们的拱门设置为默认选项(现在对我来说是 32 位,因为 pod 项目的拱门发生了变化)
没有其他答案对我有用。
最终为我解决的问题是确保在我的应用程序的 xcodeproj 文件中将 Build Active Architecture Only 设置为“调试”和“发布”设置为“是”。
另外,因为我有自定义配置,我不得不在 Podfile 中添加以下内容:
xcodeproj 'MyApp.xcodeproj', 'MyDebugConfiguration' => :debug, 'MyReleaseConfiguration' => :release
【讨论】:
看看博文here,它会起作用的。
要使您的应用程序兼容 iPhone 5s 和旧型号(直到运行 iOS6 的 iPhone 3Gs),请为您的架构选择以下选项 - “标准架构 - armv7、armv7s”。不要选择“标准架构(包括 64 位)...”的选项。由于 Arm 指令集是向后兼容的,因此为 armv7s 编译的任何应用程序也将在 iPhone 5s 或 iPhone 5c 上运行。
ARCHS = armv7 armv7s
对于构建设置中的有效架构,您可以指定 arm64, armv7,armv7s。
VALID_ARCHS = armv6 armv7 armv7s arm64
【讨论】:
环境:
在 Podfile 的末尾添加以下内容。
post_install do |installer|
installer.project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['ARCHS'] = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"
end
end
end
【讨论】:
转到项目“pods”,将“仅构建活动架构”设置为“否”以进行调试。
以上解决方案对我有用。
【讨论】:
我刚刚将我的一个项目升级到 Xcode 6 并遇到了这个问题。为了修复它,我将 Pods 项目的 Base SDK 更改为真实的(以前它就像未知的 SDK)。
【讨论】:
我也有同样的问题。警告表明未包含 pod 库,因此应用程序无法完成编译。 (它抱怨缺少属于 Pod 依赖项的头文件)。
如果您遇到同样的编译问题,您或许可以通过以下方式解决:
这似乎对我有用,但 YMMV。
【讨论】: