当我为iOS编译一些东西时,使用了哪些体系结构?

当我为iOS编译一些东西时,使用了哪些体系结构?,ios,iphone,xcode,Ios,Iphone,Xcode,我试图了解iOS的不同体系结构,以及何时需要 我有一个你好世界的例子。我的假设正确吗?如果我在Xcode模拟器中运行它,我需要编译所有东西,包括x64的依赖项(因为它在我的计算机上运行) 对于我连接的iPhone,它只针对这种架构进行编译。对于普通iPhone,我的示例是一个多架构应用程序(arm64 arm64 armv7 armv7e),因此它可以在各种架构上运行。对吗 谢谢你的洞察力 另外,如果我的示例链接到foo.a,但是foo.a只是arm64 armv7 armv7e,而不是x64,

我试图了解iOS的不同体系结构,以及何时需要

我有一个你好世界的例子。我的假设正确吗?如果我在Xcode模拟器中运行它,我需要编译所有东西,包括x64的依赖项(因为它在我的计算机上运行)

对于我连接的iPhone,它只针对这种架构进行编译。对于普通iPhone,我的示例是一个多架构应用程序(arm64 arm64 armv7 armv7e),因此它可以在各种架构上运行。对吗

谢谢你的洞察力


另外,如果我的示例链接到foo.a,但是foo.a只是arm64 armv7 armv7e,而不是x64,我可以为iPhone编译我的应用程序,但不能在我的模拟器中运行它

,这基本上是正确的,尽管上面列出了两个arm64;它应该是arm64和arm64e

至于构建什么体系结构,这取决于设置“仅构建活动体系结构”。典型的调试配置将此设置为“是”,因此它只针对您要针对的设备的体系结构进行构建

发布配置将此设置为否,因此它会编译“架构”中指定的所有架构,通常是
$(ARCHS_标准)
,即您列出的架构


至于你的PS,你是正确的,只有ARM ARCH的
.a
文件不能链接到模拟器目标

这基本上是正确的,尽管上面列出了两个arm64;它应该是arm64和arm64e

至于构建什么体系结构,这取决于设置“仅构建活动体系结构”。典型的调试配置将此设置为“是”,因此它只针对您要针对的设备的体系结构进行构建

发布配置将此设置为否,因此它会编译“架构”中指定的所有架构,通常是
$(ARCHS_标准)
,即您列出的架构

至于你的PS,你是正确的,只有ARM ARCH的
.a
文件不能链接到模拟器目标