更新Xcode 13后执行归档操作出现Undefined symbol错误如何解决
Xcode 13 归档UM系列未定义符号报错解决方案
该类仅归档触发、运行无报错的问题,核心是Xcode 13默认构建配置与UM系列依赖(多为React Native/旧版Expo项目的Unimodule组件)的架构规则不匹配导致,可按以下步骤逐一排查解决:
1 校正项目Target架构配置
打开项目主Target的Build Settings页,按如下参数调整:
Architectures设置为$(ARCHS_STANDARD),确保覆盖arm64、x86_64全架构Build Active Architecture Only的Release模式设置为NO,Debug模式保持YES即可Excluded Architectures配置中,Release模式下的iPhoneOS SDK不要排除arm64架构,仅可在模拟器SDK下配置排除arm64
2 修正Pod配置(CocoaPods管理依赖的项目)
打开项目根目录Podfile,在末尾添加如下配置:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| # 统一全依赖的架构配置 config.build_settings["ONLY_ACTIVE_ARCH"] = "NO" config.build_settings["ARCHS"] = "$(ARCHS_STANDARD)" # 移除iPhoneOS下无效的架构排除规则 config.build_settings["EXCLUDED_ARCHS[sdk=iphoneos*]"] = "" end end end
保存后执行终端命令重建Pods依赖:pod deintegrate && pod install
3 清除缓存重新归档
- 点击Xcode顶部菜单
Product -> Clean Build Folder清除构建缓存 - 构建目标选择
Any iOS Device,重新执行归档操作
额外适配(旧版Expo Unimodule项目适用)
如果以上操作无效,检查依赖引入是否正确:
- 确认
AppDelegate.h正确继承UMAppDelegateWrapper,示例如下:
#import <UMCore/UMAppDelegateWrapper.h> @interface AppDelegate : UMAppDelegateWrapper <UIApplicationDelegate> @end
- 确认
Podfile中已引入UMCore、UMReactNativeAdapter等核心Unimodule依赖,无遗漏或注释
内容的提问来源于stack exchange,提问作者ThinkAndCode
相关产品推荐
相关产品推荐

