我正在尝试使用Flutter AR应用程序进行跨平台开发,是否可以在单个应用程序中同时使用两种插件?只需一个代码库(ARKit代码)即可在Android平台上工作,反之亦然,还是需要分别为每个平台独立开发?
dependencies:
arcore_flutter_plugin: ^0.0.2+1
arkit_plugin: ^0.3.0
我正在尝试使用Flutter AR应用程序进行跨平台开发,是否可以在单个应用程序中同时使用两种插件?只需一个代码库(ARKit代码)即可在Android平台上工作,反之亦然,还是需要分别为每个平台独立开发?
dependencies:
arcore_flutter_plugin: ^0.0.2+1
arkit_plugin: ^0.3.0
我知道这个问题已经问了一段时间,但是问题仍然没有改变。
对于因为尝试使用Flutter开发跨平台AR应用程序而到达此处的每个人:请查看GitHub问题线程。
除其他外,我目前正在开发一个Flutter插件,它支持具有公共接口的ARCore和ARKit,以便人们可以编写适当的跨平台应用程序,并共享代码和功能。 我将在上面链接的GitHub讨论中发布更新!
编辑
该插件现在可在以下链接处获得:https://pub.dev/packages/ar_flutter_plugin
是的,我已经成功地将两个插件结合到一个Flutter应用程序中,使得ARCore可以在Android设备上运行,ARKit在iOS上运行。
要开始,请按照教程创建一个arkit应用程序和一个arcore应用程序。然后创建一个包含两个插件的新Flutter项目。在第一个版本中,我将arcore_flutter_plugin代码放入了一个名为ArCoreState的类中(扩展了应用程序的状态),将arkit_plugin代码放入另一个名为ArKitState的类中。
然后,main.dart文件就变得非常简单了。
void main() => runApp(MaterialApp(home: MultiPlatformApp()));
class MultiPlatformApp extends StatefulWidget {
@override State<StatefulWidget> createState() =>
Platform.isAndroid ? ArCoreState() : ArKitState();
}
当您运行时,即使只有一行共享代码,您也拥有了一个跨平台的 AR 应用程序!