执行pod install时遇项目路径及依赖版本兼容问题,寻求解决方案
错误信息汇总
分析依赖项
cloud_firestore: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
firebase_auth: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
firebase_core: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
路径/Users/bobby/Downloads/mightytaxi-110/codecanyon-40977853-mightytaxi-flutter-online-taxi-booking-app-taxi-app-admin-backend-driver-app/Rider/Runner.xcodeproj对应的项目不存在,请检查路径或手动集成Crashlytics上传符号。
firebase_crashlytics: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
firebase_database: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
firebase_storage: 使用firebase_core中定义的Firebase SDK版本'10.22.0'
[!] CocoaPods无法找到与pod "OneSignalXCFramework"兼容的版本:
在Podfile中:
OneSignalXCFramework (< 4.0, >= 3.4.3)onesignal_flutter(来自
.symlinks/plugins/onesignal_flutter/ios)被解析为5.1.3,它依赖于
OneSignalXCFramework (= 5.1.3)找到满足
OneSignalXCFramework (< 4.0, >= 3.4.3), OneSignalXCFramework (= 5.1.3)依赖的规格,但它们需要更高的最低部署目标。
问题1:Crashlytics项目路径不存在
解决方案
- 核对路径有效性:检查报错中的
Runner.xcodeproj路径是否真实存在,确认是否有文件夹名称拼写错误、文件被移动/删除的情况,修正路径后重新执行pod install。 - 手动集成Crashlytics符号上传:若路径问题无法解决,按以下步骤配置:
- 打开Xcode中的Rider项目(确保项目已正确导入)。
- 在项目Build Phases中添加Crashlytics运行脚本:
"${PODS_ROOT}/FirebaseCrashlytics/run"。 - 确认
GoogleService-Info.plist已正确添加到项目并配置Crashlytics相关权限。
问题2:OneSignalXCFramework版本冲突与部署目标不足
解决方案
两种方案按需选择:
方案一:降低onesignal_flutter版本适配3.x系列
- 在项目
pubspec.yaml中修改onesignal_flutter版本为兼容3.x的版本,例如:onesignal_flutter: ^3.5.1 - 执行
flutter pub get更新依赖。 - 重新执行
pod install。
方案二:升级部署目标并更新版本限制
- 提升iOS最低部署目标:打开Xcode项目,将iOS Deployment Target设置为iOS 13.0及以上(OneSignal 5.x系列要求最低iOS 13)。
- 修改Podfile版本限制:找到Podfile中OneSignalXCFramework的配置,将版本范围修改为
>= 5.0,或直接删除版本限制:pod 'OneSignalXCFramework', '>= 5.0' - 执行
pod repo update刷新本地Pod仓库缓存。 - 重新执行
pod install。
内容的提问来源于stack exchange,提问作者Bobby Vilavong

