You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不用Makefile通过Xcode GUI构建支持Apple Silicon与Intel的通用二进制程序?

Xcode 构建双架构通用二进制方案

本方案全程使用Xcode原生功能实现,无需引入Makefile。

配置修改步骤

  • 打开目标Xcode项目,选中左侧导航栏的项目根节点,在中间编辑区域选中需要编译的Target
  • 进入Build Settings面板,在搜索框输入Architectures,将配置值设为Standard Architectures (arm64, x86_64)(对应变量为$(ARCHS_STANDARD)),不要手动指定单一架构
  • 搜索Build Active Architecture Only,将Release模式对应的配置值改为NO,Debug模式可保留YES不影响日常调试
  • 搜索Excluded Architectures,确认该配置项下没有手动添加arm64或x86_64的排除规则
  • 清空历史编译缓存:按住Option键点击顶部菜单栏的Product选项,选择Clean Build Folder,也可以直接使用快捷键Shift + Command + K
  • 重新点击Product -> Build执行编译,生成的产物即为同时支持Apple Silicon和Intel架构的通用二进制程序

架构有效性验证

编译完成后右键点击「Products」分组下的应用文件,选择Show in Finder:

  1. 右键.app文件选择「显示包内容」,进入Contents/MacOS目录找到可执行文件
  2. 打开终端输入file (末尾带空格),将上一步找到的可执行文件拖入终端后回车执行
  3. 若命令输出同时包含x86_64和arm64两种架构信息,说明通用二进制构建成功,示例输出如下:

/Applications/YourApp.app/Contents/MacOS/YourApp: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64:Mach-O 64-bit executable arm64]

注意事项

  • 如果项目引入了第三方静态库、动态库或其他外部依赖,需要确认所有依赖本身也同时支持x86_64和arm64架构,否则最终编译产物无法实现双架构兼容
  • 所有配置正确的前提下,仅需在Apple Silicon设备上完成一次编译即可生成通用版本,无需在Intel设备上单独编译

截图说明

所有配置项都可以在Xcode的Target Build Settings面板通过顶部搜索框输入对应关键词直接定位,无需跳转外部页面查看:

内容的提问来源于stack exchange,提问作者Peter Silie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:06:08