归档(Archive)时出现Framework not found问题求助
我之前在跨M1/Intel芯片的团队协作时,也遇到过一模一样的情况——Build和Run环节因为Xcode会自动适配当前设备架构,所以毫无问题,但Archive要打包通用架构,很容易因为架构适配的细节踩坑。结合你已经尝试的pod deintegrate、pod install和清理构建文件夹操作,给你几个针对性的排查方向:
检查Xcode的架构配置细节
打开项目的Build Settings,定位到Architectures相关选项:- 确保
Architectures设置为Standard Architectures (arm64, x86_64),不要手动指定单一架构 - 把
Build Active Architecture Only在Release/Archive配置下改为NO(Run时设为YES没问题,但Archive需要兼容多架构) - 检查
Excluded Architectures,确认Archive配置下没有误排除当前芯片的架构(比如M1设备不小心排除了arm64)
- 确保
给Pod添加M1兼容的后处理配置
虽然你已经重新安装过Pods,但有些第三方库的架构适配需要额外配置。在Podfile开头添加这段代码:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' config.build_settings['ARCHS'] = '$(ARCHS_STANDARD)' end end end执行
pod install后重启Xcode,这个配置能避免模拟器和真机的架构冲突,间接解决归档时的异常。彻底清理Derived Data缓存
除了Clean Build Folder,Xcode的Derived Data文件夹里可能残留了旧的编译缓存,导致归档逻辑混乱。你可以通过Xcode > Settings > Locations找到Derived Data的路径,手动删除整个文件夹,然后重启Xcode再尝试归档。检查Scheme的归档配置
打开Scheme编辑器(Product > Scheme > Edit Scheme),切换到Archive标签页:- 确认
Build Configuration选择的是Release(别选Debug,Debug配置的归档经常出问题) - 检查
Archive Format是否为XCArchive,有些第三方工具可能会修改这个设置导致归档失败
- 确认
尝试用Rosetta模式启动Xcode
如果项目依赖了还没适配arm64的老旧第三方库,Rosetta模式能让Xcode以Intel架构运行,大概率能解决归档时的架构兼容问题。右键Xcode图标 > 显示简介 > 勾选“使用Rosetta打开”,重启Xcode后再试归档。
内容的提问来源于stack exchange,提问作者Yaman Boztepe

