Flutter:为每个平台(iOS和Android)安装不同版本的依赖项

时间:2019-11-22 23:16:29

标签: flutter flutter-dependencies

我正在尝试为flutter中的蓝牙安装flutter_blue依赖项,并且已经意识到在我的环境中,仅0.6.2版适用于android,而^ 0.6.3 + 1版适用于ios。

是否可以声明特定于平台的依赖项或版本?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并最终做了以下事情:

  1. 为iOS创建一个名为pubspec.ios.yaml的专用pubspec。然后,您可以在此处放置特定于iOS的任何内容:

    ...
    dependencies:
      flutter:
        sdk: flutter
      flutter_blue: 0.6.3+1
    ...
    
  2. 在我的构建管道中添加一个小脚本:

    # We use a specific pubspec file for iOS
    cp pubspec.ios.yaml pubspec.yaml
    flutter pub get
    

请注意,重新生成pubspec.lock时需要“ flutter pub get”。

有点脏,但是我没有想出比这更干净的东西。

PS:我正在使用Microsoft App Center for CI / CD,因此在调用flutter build之前,以上内容已添加到appcenter-post-clone.sh脚本中

# We use a specific pubspec file for iOS
cp pubspec.ios.yaml pubspec.yaml
flutter pub get

# The build !
flutter build ios --release --no-codesign -vvv