Flutter应用上传App Store遇image_picker_ios的ITMS-90338验证问题
解决Flutter image_picker_ios在Xcode 15 beta下触发ITMS-90338私有API验证问题
问题背景
使用macOS Sonoma + Xcode 15 beta开发Flutter应用,上传App Store后收到ITMS-90338错误:image_picker_ios.framework链接了私有框架AVFCapture.framework和AVFCore.framework,清理构建、重装Pods后问题仍存在。
解决方案
以下是经过验证的解决步骤,按顺序尝试:
升级image_picker_ios到适配Xcode 15的版本
这是最直接的修复方式,该问题本质是组件未适配Xcode 15 beta导致的意外私有框架链接。- 打开项目根目录的
pubspec.yaml,找到image_picker(或单独的image_picker_ios)依赖项,将版本号更新为pub.dev上的最新稳定版。 - 执行命令:
flutter pub get cd ios && pod install --repo-update
- 打开项目根目录的
强制覆盖image_picker_ios版本
如果升级主image_picker包后问题仍存在,可直接指定兼容的image_picker_ios版本:
在pubspec.yaml中添加依赖覆盖:dependency_overrides: image_picker_ios: ^1.0.7 # 替换为最新适配版本之后重新执行
flutter pub get和pod install。彻底清理构建缓存与Pod依赖
普通清理可能残留旧的构建产物,执行以下步骤彻底清理:- 项目根目录执行:
flutter clean - 进入ios目录,删除
Pods文件夹、Podfile.lock和Runner.xcworkspace - 执行:
pod deintegrate pod install - 打开Xcode,按下
Cmd+Shift+K清理Build Folder。
- 项目根目录执行:
验证并移除私有框架链接
手动检查项目的框架链接情况:- 打开
ios/Runner.xcworkspace,选中Runner Target,进入Build Phases > Link Binary With Libraries - 若列表中存在
AVFCapture或AVFCore,直接点击-移除。 - 可通过终端命令验证
image_picker_ios框架的依赖:
确认输出中没有otool -L ios/Pods/image_picker_ios/image_picker_ios.framework/image_picker_ios/System/Library/PrivateFrameworks/路径下的AV相关框架。
- 打开
临时使用开发分支或替代组件
如果上述步骤都无效,可尝试使用image_picker仓库的开发分支(已修复Xcode 15适配问题):image_picker: git: url: https://github.com/flutter/packages.git path: packages/image_picker/image_picker ref: main或者临时切换至其他图片选择组件(如
image_cropper的图片选择功能),等待官方发布正式适配版本。
内容的提问来源于stack exchange,提问作者Sanket Naik
相关产品推荐
相关产品推荐

