使用Transporter上传IPA至App Store遭遇多类资产验证错误求助
上传App Store时遇到多个GoogleAppMeasurementOnDeviceConversion.framework相关错误的解决方案
遇到的错误列表:
- 资产验证失败(90125):二进制文件无效。LC_ENCRYPTION_INFO加载命令中的加密信息缺失、无效,或二进制文件已加密。该二进制文件似乎并非由Apple链接器构建。
- 资产验证失败(90124):二进制文件无效。可执行文件
SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework/GoogleAppMeasurementOnDeviceConversion的类型为'OBJECT',不符合要求,仅允许'EXECUTE'类型。 - 资产验证失败(90635):Mach-O格式无效。bundle"SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework"中的Mach-O与主bundle中的Mach-O不一致。主bundle的Mach-O包含arm64(bitcode),而嵌套bundle的Mach-O包含armv7(机器码)和arm64(机器码)。请验证平台所有目标的ENABLE_BITCODE构建设置值是否一致。
- 资产验证失败(90360):Info.plist值缺失。bundle SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework中需要填写'MinimumOSVersion'键的值。
- 资产验证失败(90210):加载命令缺失。位于
SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework的可执行文件缺少必要的加载命令。尝试使用最新版本Xcode重新构建应用。若使用第三方开发工具,请联系提供商。 - 资产验证失败(90208):Bundle无效。bundle SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework不支持Info.plist中指定的最低操作系统版本。
- 资产验证失败(90081):该Bundle无效。为多架构构建的应用要求iOS Deployment Target为3.0或更高版本。
- 资产验证失败(90171):Bundle结构无效 - 不允许包含二进制文件
SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework/GoogleAppMeasurementOnDeviceConversion。应用不能包含独立可执行文件或库,除非是受支持bundle的有效CFBundleExecutable。
解决方案:
所有错误核心都指向GoogleAppMeasurementOnDeviceConversion.framework的集成问题,按以下步骤逐一修复:
替换为官方兼容的框架版本
- 弃用当前的框架文件,从Google官方SDK或CocoaPods重新获取最新版本:
- 若用CocoaPods,执行
pod deintegrate清除旧集成,再pod install重新拉取依赖。 - 手动集成的话,删除项目中旧的框架,添加从官方渠道下载的完整.framework包,确保它是编译完成的可执行库(而非未链接的目标文件)。
- 若用CocoaPods,执行
- 弃用当前的框架文件,从Google官方SDK或CocoaPods重新获取最新版本:
统一项目与框架的Bitcode配置
- 打开Xcode项目的Build Settings,找到
Enable Bitcode选项:- 确保主Target和所有依赖框架的该设置完全一致(要么都开启,要么都关闭)。
- 如果主Target开启了Bitcode,需确认使用的Google框架版本支持Bitcode,否则关闭主Target的Bitcode选项。
- 打开Xcode项目的Build Settings,找到
补全框架Info.plist的必要字段
- 找到
GoogleAppMeasurementOnDeviceConversion.framework内的Info.plist:- 添加
MinimumOSVersion键,值设置为与主项目的iOS Deployment Target相同(比如14.0)。 - 检查
CFBundleExecutable键是否正确指向框架内的可执行文件,确保CFBundleIdentifier等基础键值完整。
- 添加
- 找到
清理缓存并重新归档
- 执行Xcode的
Clean Build Folder(快捷键Cmd+Shift+Option+K)。 - 删除Derived Data目录(通过Xcode偏好设置 -> Locations找到路径)。
- 重新构建项目,确认无编译错误后再进行归档操作。
- 执行Xcode的
验证框架的Mach-O类型
- 用终端命令检查框架可执行文件的类型:
输出需包含file 你的项目路径/SpartanTutors.app/Frameworks/GoogleAppMeasurementOnDeviceConversion.framework/GoogleAppMeasurementOnDeviceConversionexecutable字样,若显示object file,说明框架未正确编译,必须更换版本。
- 用终端命令检查框架可执行文件的类型:
内容的提问来源于stack exchange,提问作者user19568996
相关产品推荐
相关产品推荐

