<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Flutter在iOS中一些點

      1. ios對Flutter有如下依賴

      • Flutter.framework:     Flutter engine等;
      • APP.framework:業(yè)務代碼, 由dart代碼生成。App.framework也包含了kDartVmSnapshotData,kDartVmSnapshotInstructions,kDartIsolateSnapshotData,kDartIsolateSnapshotInstructions四個部分 ;
      • Flutter Plugin: plugin相關(guān);
      • flutter_assets:  Flutter依賴的靜態(tài)資源,如字體,圖片等。

      2.  iOS工程是怎么路由到dart的?

      (1)ios初始化flutterVC

      FlutterViewController* flutterViewController = [[FlutterViewController alloc] initWithProject:nil nibName:nil bundle:nil];
      [flutterViewController setInitialRoute:@"myApp"];

      (2)dart項目的main函數(shù)啟動并由window.defaultRouteName拿到route

      void main() {
            runApp(_buildWidget());
      }
      Widget _buildWidget() {
           String route = window.defaultRouteName;
           ....
           return widget;
      }

      (3)Flutter.framework渲染頁面

       3. kernel_blob.bin文件的作用是什么?為什么模擬器運行需要此文件,真機運行不需要此文件?

        kernel_blob.bin是業(yè)務代碼的產(chǎn)物 Dart kernel bytecode ,在debug調(diào)試的時候,Dart的代碼有改動,則 kernel_blob.bin也會有相應的改變。release模式(AOT模式)下,dart編譯器會用Dart kernel bytecode編譯成二進制的arm集成代碼。

         也就是說,模擬器運行是Debug模式(JIT模式),業(yè)務代碼的來源是需要兩個文件,一個是APP.framework里的App二進制代碼一個是kernel_blob.bin。而真機運行是release模式(AOT模式),直接可以運行APP.framework里的App二進制代碼。所以模擬器需要kernel_blob.bin文件,真機不需要kernel_blob.bin文件。

       4. Flutter項目里構(gòu)建iOS包的常用命令

        4.1  flutter build

      (1)flutter build ios

      lipo -info .ios/Flutter/App.framework/APP  查看結(jié)果是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  查看結(jié)果是x86_64 armv7 arm64 

      (3) flutter build ios --simulator   

       lipo -info .ios/Flutter/App.framework/APP  查看結(jié)果是 x86_64

        4.2 flutter packages

      (1)flutter packages get

      當你在添加一個包后首次運行(IntelliJ中的’Packages Get’)flutter packages get,F(xiàn)lutter將找到包的版本保存在pubspec.lock。這確保了如果您或您的團隊中的其他開發(fā)人員運行flutter packages get后回獲取相同版本的包。

      (2)flutter packages upgrade

      根據(jù)pubspec.yaml中指定的版本約束下載所允許的最高可用版本。

      posted @ 2019-12-12 11:45  Xylophone  Views(1363)  Comments(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品爽爽va在线观看网站| 久久综合老鸭窝色综合久久 | 国产精品污双胞胎在线观看| 亚洲成在人线AⅤ中文字幕| 国产精品毛片在线完整版| 广东少妇大战黑人34厘米视频| 四虎在线成人免费观看| 精品人妻少妇嫩草av系列| 国产成人精品一区二区秒拍1o | 国产精品久久久久影院亚瑟| 精品一区二区成人码动漫| 国产综合久久久久鬼色| 四虎在线播放亚洲成人| 国产亚洲欧洲av综合一区二区三区| 国产又色又爽又黄的网站免费| 精品人妻伦一二三区久久aaa片| 好爽毛片一区二区三区四| 国产亚洲av人片在线播放| 日夜啪啪一区二区三区| 成人一区二区人妻不卡视频| 东京一本一道一二三区| 亚洲精品一区二区区别| 精品国产午夜福利在线观看 | 久久人妻少妇嫩草av无码专区| 亚洲成a人在线播放www| 91中文字幕在线一区| 武装少女在线观看高清完整版免费| 亚洲av伊人久久综合性色| 亚洲 制服 丝袜 无码| 欧美乱大交xxxxx疯狂俱乐部| 日本亚洲欧洲无免费码在线 | 羞羞影院午夜男女爽爽免费视频| 欧美激情一区二区| 国产成人精品一区二三区| 91中文字幕一区在线| 最新亚洲人成网站在线影院| 五月国产综合视频在线观看| 精品国产一区二区三区国产馆| 性做久久久久久久| 国产精品久久国产精麻豆99网站| 99RE8这里有精品热视频|