Flutter项目在Bitrise CI构建iOS时报错找不到自有应用podspec如何解决?
问题解决方案
- 先检查自定义
itini插件ios目录下的itini.podspec文件是否存在,同时确认该文件没有被加入项目的.gitignore规则。本地环境中已存在的文件不受.gitignore影响,但CI拉取代码时会忽略对应规则的文件,是此类本地正常CI失败问题的常见诱因。 - 调整Bitrise构建步骤顺序,在执行flutter build前先手动执行
flutter pub get,不要依赖flutter build步骤自动触发的pub get逻辑。Flutter 2.2.x版本在CI环境下自动执行pub get时,存在概率无法正确生成.symlinks下的插件目录结构,手动执行可规避该问题。 - 检查项目pubspec.yaml中
itini插件的引用配置:如果是本地路径引用的插件,需确认CI拉取代码后,插件的相对路径和本地环境完全一致。Mac本地文件系统默认大小写不敏感,而Bitrise的构建环境大小写敏感,路径大小写不一致也会导致符号链接指向错误目录,找不到podspec文件。 - 若以上步骤仍未解决,可在Bitrise的flutter build步骤前新增一个脚本执行步骤,运行
ls -la .symlinks/plugins/itini/ios将对应目录的文件列表打印到构建日志,可直接定位是podspec文件缺失还是路径指向错误。 - 额外建议在CI构建前增加
flutter clean步骤清理缓存,避免旧缓存的异常目录结构导致符号链接生成错误。
内容的提问来源于stack exchange,提问作者Hugo Sartori
相关产品推荐
相关产品推荐

