嵌入SDK到Flutter
什么是 Flutter?
Flutter是谷歌的 UI 工具包,用于从单一代码库为移动、网络、桌面和嵌入式设备构建漂亮的、原生编译的应用程序。
XR-MOD 与 Flutter
过去,要在 Flutter 中使用 AR-MOD sdk,开发者需要为 Flutter 项目创建 AR-MOD 插件,这样 Flutter 才能使用 AR-MOD! 我们也发现了这个问题,所以我们在 0.0.4 版本中推出了一个完全支持 Flutter 的插件。我们把它推送到 pub.dev,名字是flutter_armod_widget。 从现在开始,我将带领大家看看如何在 Flutter 中使用 AR-MOD SDK。
警告
我们将跳过如何安装 flutter 以及如何用 flutter 创建一个项目
设置 Flutter 项目
第 1 步
打开pubspec.yaml
文件,将flutter_armod_widget: ^2.0.0-pre.1
到依赖项。
dependencies:
flutter:
sdk: flutter
flutter_armod_widget: ^2.0.0-pre.1
第二步
在您的项目术语中运行flutter pub get
命令,以安装依赖性。
第三步
从github下载并解压 AR-MOD SDK 框架。
- Android
- iOS
进入FLUTTER-SDK-PATH/.pub-cache/hosted/pub.dartlang.org/flutter_armod_widget-VERSION/
文件夹的位置。
然后将libs
粘贴到android
平台文件夹。
- 在您的 XCode 项目中创建 ThirdParties 文件夹。
- 将 UnityFramework.framework 导入该文件夹(ThridParties)。
- 将框架添加到
Xcode
->Targets
->Your APP
->General
->Franework,Libraries,and Embedded Content
区域,并将嵌入模式设置为嵌入和签署。 - 执行 cd iOS 命令并在您的终端上运行 Pod 安装命令。
第四步
- 再次在您的终端中运行
Flutter pub get
命令。 - 创建并写入您的应用程序令牌到PhantomsXRConfig.dart。
- 并为 AR-MOD 写一个新的屏幕。
Build and Test
- Android
- iOS-Swift
- iOS-Objc
提示
不需要额外的配置
如果您使用的是 Swift,打开ios/Runner/AppDelegate.swift
文件,修改如下。
AppDelegate.swift
import UIKit
import Flutter
import flutter_armod_widget
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
InitARMODIntegrationWithOptions(argc: CommandLine.argc, argv: CommandLine.unsafeArgv, launchOptions)
let nativeCalls: AnyClass? = NSClassFromString("FrameworkLibAPI")
nativeCalls?.registerAPIforNativeCalls(ARMODCallbackAPI())
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
编辑 "info.plist"。
<dict>
<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
</dict>
<dict>
<key>Privacy - Camera Usage Description</key>
<string>$(PRODUCT_NAME) uses Cameras</string>
</dict>
<dict>
<key>NSBonjourServices</key>
<string>_dartobservatory._tcp</string>
</dict>
如果您使用 Objective-C,打开ios/Runner/main.m
文件,修改如下。
main.m
#import "flutter_armod_widget.swift.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
InitARMODIntegration(argc, argv);
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
编辑 "info.plist"。
<dict>
<key>io.flutter.embedded_views_preview</key>
<string>YES</string>
</dict>
<dict>
<key>Privacy - Camera Usage Description</key>
<string>$(PRODUCT_NAME) uses Cameras</string>
</dict>
<dict>
<key>NSBonjourServices</key>
<string>_dartobservatory._tcp</string>
</dict>
OK,您只需要在终端运行flutter run --release
命令。一个 AR 应用就会在您的手机中运行!
点击这里下载这个源代码!