问题
工程引入了flutter_slidable库,但是随着工程升级,flutter_slider的新版本遇到编译问题,如下截图:
Error (Xcode): Invaid depfile: /Users/edy/Desktop/xxxx/.dart_tool/flutter_build/1c028f2d1b282d28c0bd6c81c174182a/kernel_snapshot_program.d
Could not build the application for the simulator.
Error launching application on iPhone XR.
从截图中看不出具体,所以需要使用Xcode跑一下iOS工程,以便查处问题所在:
从xcode中可以看出是flutter_slider这个库出现了问题。
解决方式
首先通过代码的git变动记录,可以看出flutter_slidable这个库的版本在编译报错前后是出现了版本号变化的,如果你从pubspec.yaml
中看不出来,可以查看pubspec.lock
中的变化。
通过在GitHub上:https://github.com/letsar/flutter_slidable,在issue中可以看到也有人反馈了相同问题:
https://github.com/letsar/flutter_slidable/issues/488
问题出在,flutter_slidable的3.0.1到最新版本3.1.1,有变量未被定义,无法识别,引入tag的版本无法解决。但是master分支上已经有修复了,所以需要修改flutter_slidable的引入指向问题。
所以做以下改动
provider: ^6.1.2
# flutter_slidable: ^3.0.1
flutter_slidable:
git:
url: https://github.com/letsar/flutter_slidable.git
ref: master
pull_to_refresh: ^2.0.0
然后执行flutter pub get
更新依赖。
问题解决。
其他
如果存在缓存问题,可以clean一下工程
flutter clean