Xcode 13发布App Store报No architectures in the binary错误怎么解决?
No architectures in the binary. Lipo failed to detect any architectures in the bundle executable

错误产生原因
- 项目架构配置错误:
Build Settings中Architectures、Excluded Architectures项配置不符合上架要求,导致打包阶段未生成对应CPU架构的二进制文件 - 第三方依赖架构不兼容:引入的静态库/动态库仅支持模拟器架构,或缺失上架必需的arm64架构,架构剥离后生成空二进制包
- 打包配置项误改:Release模式下
Build Active Architecture Only被设为Yes,打包时未连接对应架构设备,导致无有效架构编译输出 - Xcode 13版本兼容性问题:旧项目升级到Xcode 13后,遗留构建系统的配置未同步更新,导致架构编译流程异常
解决方法
- 修正基础架构配置:打开项目
Build Settings面板,确认Architectures取值为$(ARCHS_STANDARD),Release模式下Build Active Architecture Only设置为No - 清理排除架构规则:检查
Excluded Architectures配置,Release模式下移除所有手动添加的架构排除规则,避免误排除arm64等iOS设备必需架构 - 校验第三方依赖架构:进入第三方库文件所在目录,终端执行
lipo -info 库文件名查看支持架构,确保所有引入的二进制库均包含arm64架构,移除仅支持x86_64模拟器架构的依赖 - 切换Xcode构建系统:打开
File > Workspace Settings(单项目则为Project Settings),将构建系统切换为默认的Xcode Build System,删除本地DerivedData缓存后重新打包 - 适配CocoaPods依赖配置:若使用CocoaPods管理依赖,在Podfile末尾添加如下配置,强制所有子项目架构配置与主项目对齐:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['ARCHS_STANDARD'] = 'arm64' config.build_settings['BUILD_ACTIVE_ARCH_ONLY'] = 'NO' config.build_settings['EXCLUDED_ARCHS[sdk=iphoneos*]'] = '' end end end
配置完成后执行pod install 重新生成依赖项目,再执行打包操作即可。
内容的提问来源于stack exchange,提问作者Akshata Bhosale
相关产品推荐
相关产品推荐

