【发布时间】:2021-06-13 06:06:59
【问题描述】:
在移动端和 PC 端开发 Flutter 应用程序时,移动端插件通常同时涵盖 iOS 和 android,因此移动端的代码库保持不变。现在有了 PC 和 Web,插件并不适用于所有平台。 在 dart.io 中有 Platform.isIOS 等可以改变平台的行为,但只能在运行时。 例如,如果插件在 Windows 上不存在,我需要在编译时有条件地导入插件。像相机、sqlite 数据库、文件缓存等。 有人说要让平台相关的代码进入小部件等,但我仍然需要导入 widget.dart 并且 it 将导入一个不存在的插件。因此存在编译错误,修复该错误的唯一方法是使用不同版本的代码。就我而言,这将是大多数更改的 dart 文件。 有没有办法让我的代码共享但在某些平台上使用不同的插件?
【问题讨论】:
-
为某些平台没有原生实现的插件导入Dart代码并不是编译错误,所以问题的前提是不正确的。考虑发布一个新问题,其中包含您遇到的编译错误的详细信息,因为这不应该是原因
标签: flutter