标签:git 运行 master ack target init 模式 pods style
(1)ios初始化flutterVC
FlutterViewController* flutterViewController = [[FlutterViewController alloc] initWithProject:nil nibName:nil bundle:nil]; [flutterViewController setInitialRoute:@"myApp"];
(2)dart项目的main函数启动并由window.defaultRouteName拿到route
void main() { runApp(_buildWidget()); } Widget _buildWidget() { String route = window.defaultRouteName; .... return widget; }
(3)Flutter.framework渲染页面
kernel_blob.bin是业务代码的产物 Dart kernel bytecode ,在debug调试的时候,Dart的代码有改动,则 kernel_blob.bin也会有相应的改变。release模式(AOT模式)下,dart编译器会用Dart kernel bytecode编译成二进制的arm集成代码。
也就是说,模拟器运行是Debug模式(JIT模式),业务代码的来源是需要两个文件,一个是APP.framework里的App二进制代码一个是kernel_blob.bin。而真机运行是release模式(AOT模式),直接可以运行APP.framework里的App二进制代码。所以模拟器需要kernel_blob.bin文件,真机不需要kernel_blob.bin文件。
(1)flutter build ios
lipo -info .ios/Flutter/App.framework/APP 查看结果是armv7 arm64
题外话:pod package打包iOS framework命令
pod package hummer_container.podspec.json --spec-sources=‘git@gitlab.alipay-inc.com:ifoundation-ios/Specs.git‘ --no-mangle --force
(2)flutter build ios --debug
lipo -info .ios/Flutter/engine/Flutter.framework/Flutter 查看结果是x86_64 armv7 arm64
(3) flutter build ios --simulator
lipo -info .ios/Flutter/App.framework/APP 查看结果是 x86_64
(1)flutter packages get
当你在添加一个包后首次运行(IntelliJ中的’Packages Get’)
flutter packages get
,Flutter将找到包的版本保存在pubspec.lock。这确保了如果您或您的团队中的其他开发人员运行flutter packages get
后回获取相同版本的包。
(2)flutter packages upgrade
根据pubspec.yaml中指定的版本约束下载所允许的最高可用版本。
标签:git 运行 master ack target init 模式 pods style
原文地址:https://www.cnblogs.com/Xylophone/p/12028291.html