美文网首页
iOS项目中用pod方式集成flutter

iOS项目中用pod方式集成flutter

作者: 黄花菜先生 | 来源:发表于2019-03-06 15:29 被阅读0次

    第一步,将flutter项目创建在iOS项目同目录中

    image.png

    注意:此处创建的是flutter module,不是flutter project

    flutter create -t module flutter_lab
    

    第二步,在podfile文件中加入以下脚本,然后pod install

    flutter_application_path = '../flutter_lab/'
    
    target 'Test' do
    
      eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')),binding)
    
    end
    

    第三步,Run Script

    # 删除本地Flutter文件夹
    rm -rf -- "$SOURCE_ROOT/Flutter"
    # 再生成Flutter文件夹
    mkdir -p "$SOURCE_ROOT/Flutter"
    
    # 编译生成
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
    
    # 将胶水文件copy到本地文件夹
    cp -r -- "$FLUTTER_APPLICATION_PATH/.ios/Flutter/flutter_assets" "$SOURCE_ROOT/Flutter"
    cp -r -- "$FLUTTER_APPLICATION_PATH/.ios/Flutter/App.framework" "$SOURCE_ROOT/Flutter"
    

    第四步,编译iOS项目,将编译生成flutter文件导入iOS项目

    目录中会生成flutter文件夹,在iOS工程目录中新建Flutter文件夹,将App.framework和flutter_assets导入到刚建立的Flutter文件夹,切记flutter_assets使用Creat folder references方式导入

    image.png

    第五步,导入App.framework

    image.png

    第五步,改造AppDelegate

    #import <UIKit/UIKit.h>
    #import <Flutter/Flutter.h>
    
    @interface AppDelegate : FlutterAppDelegate
    
    @end
    
    
    #import "AppDelegate.h"
    #import <FlutterPluginRegistrant/GeneratedPluginRegistrant.h>
    
    @interface AppDelegate ()
    
    @end
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
        [GeneratedPluginRegistrant registerWithRegistry:self];
        return [super application:application didFinishLaunchingWithOptions:launchOptions];
    }
    
    @end
    

    相关文章

      网友评论

          本文标题:iOS项目中用pod方式集成flutter

          本文链接:https://www.haomeiwen.com/subject/nratpqtx.html