flutter - Flutter 是否在单个应用程序中同时支持 ARCore 和 ARKit 插件?
问题描述
我正在尝试跨平台的 Flutter AR 应用程序,是否可以在单个应用程序中使用这两个插件。使用单一代码库(ARKit 代码)它是否适用于 android 平台,反之亦然,还是我们需要为单个平台独立工作?
dependencies:
arcore_flutter_plugin: ^0.0.2+1
arkit_plugin: ^0.3.0
解决方案
是的,我已经设法将这两个插件组合在一个 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 应用程序,即使它只有一行共享代码!
推荐阅读
- javascript - 如何在不导入 Angular 应用程序之外调用 javascript 函数
- php - 没有从 Laravel 的原始查询中得到任何结果
- json - 如何使用 Jackson 创建无名 Json 数组
- html - 无法在 ::before div 中居中段落
- sql - Oracle 数据库列定义不明确/标识符无效
- reactjs - 类型错误:作者未定义
- angular - 仅使用 X 标记删除 Modal
- material-ui - 如何修复此警告“useLayoutEffect”相关警告?
- swift - 未调用完成处理程序 - Alamofire / stripe
- java - Hibernate UserType:存储在数据库中的 LocalDate 无效