开发者社区> 问答> 正文

应用研发平台EMAS app是iOS内嵌flutter,可以参考这个来配置吗?

应用研发平台EMAS app是iOS内嵌flutter,可以参考https://help.aliyun.com/document_detail/616785.html?spm=a2c4g.436187.0.0.311e1a2et3SkVB 这个来配置吗?

展开
收起
2401。 2023-07-16 15:21:49 92 0
2 条回答
写回答
取消 提交回答
  • 是的,您可以参考应用研发平台 EMAS 中 iOS 内嵌 Flutter 的配置方式来进行相关的配置。

    通常,将 Flutter 嵌入到 iOS 应用中需要以下步骤:

    1. 集成 Flutter SDK: 在您的 iOS 项目中集成 Flutter SDK。您可以通过 CocoaPods 或手动导入 Flutter 引擎和依赖库来完成此步骤。

    2. 创建 Flutter 模块: 创建一个 Flutter 模块,并将其作为子项目添加到您的 iOS 项目中。这样可以使您的 iOS 应用能够加载和运行 Flutter 模块。

    3. 配置 Flutter 引擎: 配置 Runner.xcworkspace 文件以适配 Flutter 引擎并设置相关的 Flutter 参数,例如 FLUTTER_TARGETDART_DEFINES 等。

    4. 实现 Flutter 交互: 在您的 iOS 应用代码中,编写相应的代码来与 Flutter 模块进行交互。这包括在合适的位置加载并展示 Flutter 模块,并处理从 Flutter 接收到的消息或事件。

    2023-07-16 21:34:18
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    应用研发平台EMAS支持iOS内嵌Flutter的应用配置,可以参考阿里云文档中提供的配置方法进行配置。但是需要注意的是,EMAS和阿里云的配置略有不同,具体步骤如下:

    在EMAS控制台中创建应用,并获取应用ID和应用密钥。

    在Flutter项目中添加EMAS SDK依赖,可以通过在pubspec.yaml文件中添加以下代码实现:

    Copy
    dependencies:
    alibabacloud_emas:
    git:
    url: https://github.com/aliyun/flutter-yidun-dunyun-demo.git
    path: alibabacloud_emas
    在Flutter项目中添加iOS平台的配置文件,可以在项目的ios目录下添加Podfile和Podfile.lock文件,并在其中添加EMAS SDK的依赖。建议您使用最新版本的EMAS SDK,并在Podfile中添加以下代码:
    scheme
    Copy
    platform :ios, '9.0'

    target 'YourTarget' do
    use_frameworks!

    pod 'AliyunEmasServices-Message', '~> 1.6.1'
    pod 'AliyunEmasServices-Core', '~> 1.6.1'
    end
    在Flutter项目中添加iOS平台的配置文件,可以在项目的ios目录下添加Runner-Bridging-Header.h文件,并在其中添加以下代码:
    Copy

    import

    import

    在iOS项目中添加Flutter模块,并在AppDelegate.swift文件中添加以下代码:
    swift
    Copy
    import UIKit
    import Flutter
    import AliyunEmasServicesCore

    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate, FlutterAppLifeCycleProvider {
    var window: UIWindow?
    var flutterEngine : FlutterEngine!

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        flutterEngine = FlutterEngine(name: "my_engine")
    
        flutterEngine.run()
    
        return true
    }
    
    func provide() -> FlutterAppLifeCycleDelegate? {
        return EMASFlutterAppLifeCycleDelegate.init()
    }
    

    }
    在iOS项目中添加EMAS SDK初始化代码,并在AppDelegate.swift文件中添加以下代码:
    swift
    Copy
    import AliyunEmasServicesCore

    class EMASFlutterAppLifeCycleDelegate: NSObject, FlutterAppLifeCycleDelegate {
    func onAttachToEngine(_ flutterEngine: FlutterEngine) {
    let options = EMASConfigureOptions.init(appkey: "your_app_key", appSecret: "your_app_secret")
    AliyunEmasServicesConfig.sharedInstance().configure(options)
    }

    func onDetachedFromEngine(_ flutterEngine: FlutterEngine) {
    }
    

    }
    需要注意的是,以上步骤仅为参考,具体操作可能会因为版本变化而略有不同。

    2023-07-16 16:43:51
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
基于阿里巴巴以及合作伙伴的最佳实践,围绕大前端、云原生领域的相关技术热点(小程序、Serverless、应用中间件、低代码、DevOps)展开行业探讨,与开发者一起探寻云原生时代应用研发的新范式。
相关文档: 移动研发平台
问答排行榜
最热
最新

相关电子书

更多
移动 App 性能监测实践(iOS篇) 立即下载
React-Native 在iOS上的性能优化方案 立即下载
滴滴出行iOS端瘦身实践 立即下载