首页 > 解决方案 > Flutter 是否在单个应用程序中同时支持 ARCore 和 ARKit 插件?

问题描述

我正在尝试跨平台的 Flutter AR 应用程序,是否可以在单个应用程序中使用这两个插件。使用单一代码库(ARKit 代码)它是否适用于 android 平台,反之亦然,还是我们需要为单个平台独立工作?

dependencies:
   arcore_flutter_plugin: ^0.0.2+1
   arkit_plugin: ^0.3.0

标签: flutterarkitarcore

解决方案


是的,我已经设法将这两个插件组合在一个 Flutter 应用程序中,以便 ARCore 在 Android 设备上运行,而 ARKit 在 iOS 上运行。

要开始,只需按照教程创建一个 arkit 应用程序和一个 arcore 应用程序。然后用这两个插件创建一个新的颤振项目。对于第一个版本,我将 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 应用程序,即使它只有一行共享代码!


推荐阅读