Xcode13环境下React Native集成@passbase/react-native-passbase 2.12.0库无法上传至App Store的问题求助
解决方案:Passbase iOS上传TestFlight 90206/Invalid Binary问题
我之前在集成@passbase/react-native-passbase SDK时,也碰到过几乎一模一样的iOS上传TestFlight报错问题,折腾了好几天才搞定,给你几个亲测有效的方案,你可以挨个尝试:
方案1:修正Microblink.framework的嵌入配置
这个是解决STATE_ERROR.VALIDATION_ERROR.90206错误的核心步骤:
- 打开Xcode,选中你的项目target,切换到General标签页
- 找到Frameworks, Libraries, and Embedded Content区域,定位到
Microblink.framework - 把它的嵌入选项从
Embed & Sign改成Do Not Embed(Passbase的SDK已经内置了对Microblink的依赖处理,不需要重复嵌入) - 清理Xcode构建缓存:按下
Cmd+Shift+K,然后删除Derived Data(路径:Xcode → Preferences → Locations → Derived Data,点击箭头打开文件夹后删除全部内容) - 重新执行Archive并上传TestFlight
方案2:锁定Microblink版本并修复Pod依赖
有时候依赖版本冲突或者Pod配置异常会导致框架嵌套问题,你可以在Podfile里强制指定配置:
- 打开iOS目录下的
Podfile,添加以下代码:
# 锁定Microblink版本为5.15.2,避免版本漂移 pod 'react-native-microblink', '5.15.2' pre_install do |installer| installer.pod_targets.each do |pod| if pod.name == 'react-native-microblink' # 修复框架搜索路径,避免嵌套Frameworks文件夹 pod.build_configurations.each do |config| config.build_settings['FRAMEWORK_SEARCH_PATHS'] = ['$(inherited)'] config.build_settings['SKIP_INSTALL'] = 'YES' end end end end
- 在终端执行以下命令重置Pod依赖:
cd ios pod deintegrate pod install --repo-update
- 回到Xcode清理缓存,重新Archive上传
方案3:检查Xcode构建设置的关键项
一些隐藏的构建配置错误会导致Invalid Binary:
- 选中项目target,切换到Build Settings标签页
- 搜索
Embedded Content Contains Swift Code,设置为Yes(Microblink依赖Swift环境,即使你的项目是纯OC也需要开启) - 搜索
Copy Bundle Resources,检查是否有Microblink.framework被添加到列表中,如果有,点击移除 - 搜索
Framework Search Paths,确保路径里没有$(PROJECT_DIR)/Frameworks这类可能导致嵌套的路径,保留默认的$(inherited)即可
方案4:升级Passbase SDK到最新版本
你当前使用的2.12.0版本可能存在已知的Microblink依赖问题,官方后续版本大概率修复了这个bug:
- 在项目根目录执行:
yarn upgrade @passbase/react-native-passbase --latest
- 重新执行
pod install,清理缓存后构建上传
额外注意事项
- 上传时确保使用的Xcode版本是官方推荐的稳定版,你当前的13.3可以尝试升级到13.4.1或更高版本,避免版本兼容问题
- 上传前一定要确保所有第三方SDK的隐私权限描述都正确添加到
Info.plist中(比如相机、相册权限,Passbase需要这些权限),缺失权限也可能导致Invalid Binary错误
内容的提问来源于stack exchange,提问作者AstonishGong
相关产品推荐
相关产品推荐

