我正在尝试将Flutter AR应用用于跨平台,是否可以在单个应用中同时使用两个插件。使用单一代码库(ARKit代码)是否可以在android平台上运行,反之亦然?或者我们需要为单个平台独立工作吗?
dependencies:
arcore_flutter_plugin: ^0.0.2+1
arkit_plugin: ^0.3.0
答案 0 :(得分:3)
是的,我设法将两个插件组合到一个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应用程序!
答案 1 :(得分:2)
我知道这个问题已经有一段时间了,但问题仍然没有改变。
对于所有因使用Flutter开发跨平台AR应用而来到这里的人:请查看此GitHub Issue Thread。
除其他外,我目前正在开发一个Flutter插件,该插件支持具有通用接口的ARCore和ARKit,因此人们可以编写具有共享代码和功能的适当的跨平台应用程序。我将更新发布到上面链接的GitHub讨论中!