美文网首页
已有项目配置flutter(iOS篇)

已有项目配置flutter(iOS篇)

作者: WangKiven | 来源:发表于2018-12-19 18:04 被阅读202次

    官方参考文档
    如果AppDelegate已从其他地方继承,可参考

    iOS 配置flutter

    • 创建flutter moudule 命名为 my_flutter, 命令行:flutter create -t module my_flutter
    • 在已有iOS项目的Podfile中添加代码:
    # 将flutter_application_path修改成my_flutter所在的路径,可使用相对路径,也可使用绝对路径
    use_frameworks!#根据是否引入了swifit来判断是否添加该句代码,作用是使swift可使用oc库, 但是没用swift的话,这句话不能用
    flutter_application_path = 'path/to/my_flutter/'
    eval(File.read(File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')), binding)
    

    如果能如此简单就好了,但是一般不会这么容易。如果你对Podfile中已经使用了post_install,那么你需要更麻烦的操作。因为Podfile只能存在一个post_install,然后podhelper.rb中就有一个。具体怎么做请查看另一篇文章flutter 单一post_install的配置

    • 命令行运行pod install。无论什么时候修改了my_flutter下的pubspec.yaml都需要运行该命令,保证插件的iOS部分同步到iOS项目中。
    • 添加一个build phase, 方便iOS项目编译Dart代码(即my_flutter中的代码)。步骤:xcode打开iOS项目 -> 选择左侧跟项目 -> TARGET -> 当前项目 -> build phase -> 点加号添加新的build phase -> 选择New Run Script Phase -> 将以下代码复制到sh文本输入框中 -> 将新建的build script拖到并紧挨arget Dependencies phase的下边。现在应该可以⌘B编译项目了。
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build
    "$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed
    
    • 代码编写,就看原文档吧。需要注意的是,代码GeneratedPluginRegistrant.register(with: self);运行可能要蹦。解决方法是:在创建FlutterViewController后才添加代码GeneratedPluginRegistrant.register(with: fvc)fvcFlutterViewController的实例。
    • 编写好代码,xcode中可直接运行项目了。先在my_flutter下运行flutter attach的话,可以调试flutter代码

    注意事项:

    • flutter 要求iOS项目禁用bitcode
    • 注意pod install以保证flutter中插件与iOS项目中同步
    • my_flutter下运行flutter attach调试,打印出的http链接,可以复制到浏览器中。注意看打印信息,可以发现更多功能。

    相关文章

      网友评论

          本文标题:已有项目配置flutter(iOS篇)

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