美文网首页
iOS 嵌入Flutter

iOS 嵌入Flutter

作者: 精神薇 | 来源:发表于2022-03-23 15:18 被阅读0次

1、要将Flutter嵌入到现有应用程序中,请首先创建一个Flutter模块。
从命令行中,运行:

cd some/path/
flutter create --template module flutter_module
some/path/
├── flutter_module/
│   └── .ios/
│       └── Flutter/
│         └── podhelper.rb
└── MyApp/
    └── Podfile

2、安装cocoapods

3、项目命令行下执行pod init

4、项目命令行下执行pod install

5、用wordspace重新打开项目

6、podfile文件里添加一下代码

flutter_application_path = '../flutter_module'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

然后再准备运行的target里添加

install_all_flutter_pods(flutter_application_path)

7、再次执行pod install

8、禁用bitcode

build settings里搜索bitcode,然后关闭

9、添加script

在build phases新建run script,添加以下代码

"$FLUTTER_ROOT"/packages/flutter_tools/bin/xcode_backend.sh buiObject-cld

"$FLUTTER_ROOT"/packages/flutter_tools/bin/xcode_backend.sh embed

把show environment和run script only when installing都勾上(如果原生项目出现编译错误,则把only when installing点没/点开,再次运行调试)

把Run Script移动到Dependencies后面

10、build settings 里的user-defined增加一项,配置flutter目录

FLUTTER_ROOT /Users/你的名字/Desktop/Flutter/flutter

11、注意

每次在flutter里修改pubspec.yaml时,执行完flutter packages get之后,都需要执行pod install

在flutter终端中执行,选择.ios文件里的Runner.xcworkspace里面的证书和原生项目的一致(commond+shift+.打开隐藏文件夹)

flutter clean
flutter build ios

之后执行原生程序

12、在ios上热重载
进入flutter项目命令行执行flutter attach
等命令行出现Waiting for a connection from Flutter on Android SDK built for x86...
打开flutter编写的页面,命令行会出现
Syncing files to device Android SDK built for x86...
2,707ms (!)

🔥 To hot reload changes while running, press "r". To hot restart (and rebuild state), press "R".
An Observatory debugger and profiler on Android SDK built for x86 is available at: http://127.0.0.1:61581/06WC6YnSW2w=/
For a more detailed help message, press "h". To detach, press "d"; to quit, press "q".

此时修改flutter代码
然后命令行输入r,就可以看到代码热重载了
命令行输入R,表示热重启

复制http://127.0.0.1:61581/06WC6YnSW2w=/在浏览器中打开,用DevTools里断点调试flutter部分

相关文章

网友评论

      本文标题:iOS 嵌入Flutter

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