我正在尝试将Flutter AR应用用于跨平台,是否可以在单个应用中同时使用两个插件。使用单一代码库(ARKit代码),它将适用于android平台,反之亦然;还是我们需要针对单个平台独立工作?
dependencies:
arcore_flutter_plugin: ^0.0.2+1
arkit_plugin: ^0.3.0
是,我设法将这两个插件组合在一个flutter应用程序中,以便ARCore在Android设备上运行,而ARKit在iOS上运行。
[开始,只需按照教程创建arkit应用程序和arcore应用程序即可。然后使用两个插件创建一个新的flutter项目。对于第一个版本,我将arkit_plugin代码放在我称为ArCoreState(应用程序的扩展状态)的类中,并将arcore_flutter_plugin代码放在另一个类ArKitState中。
然后简单地是main.dart
void main() => runApp(MaterialApp(home: MultiPlatformApp())); class MultiPlatformApp extends StatefulWidget { @override State<StatefulWidget> createState() => Platform.isAndroid ? ArCoreState() : ArKitState(); }
运行时,您将拥有一个跨平台的AR应用程序,即使它只有一行共享代码!