方案一
1.创建flutter module
flutter create --template module my_flutter
2.配置Podfile文件,引入flutter module
flutter_application_path = '../my_flutter'
load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')
3.执行pod install
4.引用Flutter头文件
#import <Flutter/Flutter.h>
#import <FlutterPluginRegistrant/GeneratedPluginRegistrant.h>
5.示例
图片.png
6.效果
图片.png
7.注意
1)报错找不到podhelper.rb
文件
需要通过vscode或者其他编译器运行flutter项目,会生产podhelper.rb
文件
方案二
将flutter以framework的形式通过Cocoapods引入iOS工程
1.创建外层文件夹,包含ios工程 & pod工程
图片.png
2.在pod工程中导入flutter工程
图片.png
3.在flutter工程中即flutter_module_for_ios,创建move_file.sh,此脚本为了自动生成build产物,然后将所有的framework汇总到ios_frameworks中
4.配置spec文件
图片.png
s.static_framework = true
p = Dir::open("ios_frameworks")
arr = Array.new
arr.push('ios_frameworks/*.framework')
s.ios.vendored_frameworks = arr
5.iOS工程可以通过引入本地Pod的方式,进行使用
配置Podfile文件
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'FlutterProject' do
# Comment the next line if you don't want to use dynamic frameworks
use_frameworks!
# Pods for FlutterProject
pod 'MyFlutterPod', :path => '../MyFlutterPod'
target 'FlutterProjectTests' do
inherit! :search_paths
# Pods for testing
end
target 'FlutterProjectUITests' do
# Pods for testing
end
end
6.执行pod install
知识点总结
1.flutter工程使用插件(三方库)
需要配置pubspec.yaml
文件
例如:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
#添加 数据持久化插件 https://pub.flutter-io.cn/packages/shared_preferences
shared_preferences: ^0.5.4+3
配好后,执行命令安装flutter pub get
2.编译flutter生成debug环境编译产物
flutter build ios --debug
// 编译debug产物
或者
flutter build ios --release --no-codesign
// 编译release产物
3.创建pod模版
pod lib create xxx
网友评论