Xcode构建成功后无法安装React Native应用的报错问题咨询
错误根本原因
Xcode返回错误码-402653103本质是应用签名/包完整性校验失败,在安装新依赖、执行pod安装后触发该报错,基本都和依赖引入的framework签名异常、包配置冲突、架构兼容问题有关。
排查解决步骤
1. 签名配置冲突排查
- 打开Xcode项目的
Build Phases > Embed Frameworks,确认所有引入的第三方framework的Code Sign On Copy选项处于勾选状态 - 统一Pod的签名配置,在Podfile中添加以下规则,避免Pod产物签名和主项目冲突:
post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' config.build_settings['CODE_SIGNING_REQUIRED'] = 'NO' # 适配x86_64模拟器架构 config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64' end end end
修改后重新执行arch-x86_64 pod install --repo-update生效
2. 全链路缓存清理后重新构建
- 依次删除以下缓存文件:
- 项目根目录下的
node_modules文件夹、yarn.lock文件 - ios目录下的
Pods文件夹、Podfile.lock文件、{项目名}.xcworkspace文件 - Xcode全局缓存:按快捷键
Command+Option+Shift+K清空全部构建缓存,同时删除~/Library/Developer/Xcode/DerivedData下对应项目的文件夹
- 项目根目录下的
- 重新执行依赖安装:
重启Xcode后通过yarn install cd ios && arch-x86_64 pod install.xcworkspace文件打开项目重新构建即可
3. 包权限&配置校验
- 检查Info.plist配置:如果新安装的依赖需要新增权限声明,确认所有权限key为苹果官方认可的有效key,无拼写错误
- 确认测试设备的UDID已添加到当前使用的开发描述文件中,Bundle ID未和设备上已安装的其他应用冲突
- 若使用免费苹果开发者账号调试,确认单设备安装的测试应用数量未超过3个,且描述文件未过期
4. 架构兼容排查
- 若运行在Intel芯片Mac的x86_64模拟器,确认Pod构建产物未排除x86_64架构
- 若运行在M系列芯片Mac的模拟器,可在Xcode的模拟器运行选项中勾选
Open using Rosetta后再尝试安装
内容的提问来源于stack exchange,提问作者Musab Gulfam
相关产品推荐
相关产品推荐

