Flutter:在 pubspec.yaml 文件中添加仅适用于 iOS 的插件
Posted
技术标签:
【中文标题】Flutter:在 pubspec.yaml 文件中添加仅适用于 iOS 的插件【英文标题】:Flutter: Add plugin only for iOS in pubspec.yaml file 【发布时间】:2019-09-04 02:54:50 【问题描述】:有没有办法在pubspec.yaml
文件中为特定平台(例如仅适用于 ios)添加插件?
类似的东西。
dependencies:
flutter:
sdk: flutter
isIos ? http: ^1.0 : null
PS:我也知道我可以正常导入插件并且在代码中,我可以进行更改,但我不想要这个解决方案。
if (Theme.of(context).platform != TargetPlatform.iOS)
// don't use that plugin part
我只是不想在我的pubspec.yaml
中为特定平台添加插件。可能吗?
【问题讨论】:
不,请参阅***.com/questions/55567988/…(但可能存在黑客攻击,张贴在那里) 【参考方案1】:无法仅为特定平台添加插件。不过,有一种更简单的方法可以访问当前平台。
import 'dart:io';
if(Platform.isIOS)
// Use plugin
【讨论】:
【参考方案2】:使用
Platform.isIOS
import 'dart:io' show Platform;
if (Platform.isandroid)
// Android-specific code
else if (Platform.isIOS)
// iOS-specific code
【讨论】:
【参考方案3】:不确定,但一种可能的方法是本地安装该 pod 并在 Xcode 中编写其实现,然后通过 Flutter 应用程序调用该本地代码。
【讨论】:
以上是关于Flutter:在 pubspec.yaml 文件中添加仅适用于 iOS 的插件的主要内容,如果未能解决你的问题,请参考以下文章
Flutter工程代码管理 pubspec.yaml.packages 与 pubspec.lock文件的来龙去脉
Flutter工程代码管理 pubspec.yaml.packages 与 pubspec.lock文件的来龙去脉
Flutter pubspec.yaml,音频播放器无法正常工作