honghengqiang hai 1 ano
pai
achega
e493befe7d
Modificáronse 72 ficheiros con 2357 adicións e 894 borrados
  1. BIN=BIN
      build/4f2a58af27abc49ecf55570043bbf938.cache.dill.track.dill
  2. 1 1
      build/app/intermediates/flutter/debug/.last_build_id
  3. 0 1
      build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json
  4. 0 1
      build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json
  5. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z
  6. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf
  7. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/images/logo.png
  8. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/images/wechat.jpg
  9. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data
  10. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
  11. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag
  12. BIN=BIN
      build/app/intermediates/flutter/debug/flutter_assets/vm_snapshot_data
  13. BIN=BIN
      build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill
  14. 0 239
      build/flutter_assets/NOTICES
  15. 0 0
      build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/InputFileList-33CC111E2044C6BF0003C045-FlutterInputs-c95e21218cd54ede4f7c7b9fa7624309-resolved.xcfilelist
  16. 0 0
      build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/OutputFileList-33CC111E2044C6BF0003C045-FlutterOutputs-bfb3de0ebc2efecd53bf98bfce624853-resolved.xcfilelist
  17. 2 0
      build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/Script-33CC111E2044C6BF0003C045.sh
  18. 64 0
      build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-buildRequest.json
  19. BIN=BIN
      build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-desc.xcbuild
  20. 0 0
      build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-manifest.xcbuild
  21. 4 0
      build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-targetGraph.txt
  22. BIN=BIN
      build/macos/Build/Intermediates.noindex/XCBuildData/BuildDescriptionCacheIndex-c58f152b2e6ed337f42112026b207da8
  23. 0 0
      build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/project/PROJECT@v11_mod=1678672506.311481_hash=18c1723432283e0cc55f10a6dcfd9e02plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json
  24. 0 0
      build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/target/TARGET@v11_hash=2e2666c857012d0dfbed613a3361fd22-json
  25. 1 0
      build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/target/TARGET@v11_hash=ef9f24b94222f5dcb55a3c8312652e5c-json
  26. 1 0
      build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=b44c26f79f5a7ea67f48d79c871a6cf2_subobjects=65825ffce6cf9c9180fc6ed29046987b-json
  27. BIN=BIN
      build/macos/Build/Intermediates.noindex/XCBuildData/build.db
  28. 1 0
      build/macos/Build/Products/Debug/.last_build_id
  29. 1 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/FlutterMacOS
  30. 1 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Headers
  31. 1 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Modules
  32. 1 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Resources
  33. BIN=BIN
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/FlutterMacOS
  34. 43 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterAppDelegate.h
  35. 105 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterBinaryMessenger.h
  36. 452 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterChannels.h
  37. 476 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterCodecs.h
  38. 51 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterDartProject.h
  39. 87 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterEngine.h
  40. 15 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterMacOS.h
  41. 48 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterMacros.h
  42. 40 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPlatformViews.h
  43. 49 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPluginMacOS.h
  44. 91 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPluginRegistrarMacOS.h
  45. 62 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterTexture.h
  46. 120 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterViewController.h
  47. 6 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Modules/module.modulemap
  48. 24 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Resources/Info.plist
  49. BIN=BIN
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Resources/icudtl.dat
  50. 237 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/_CodeSignature/CodeResources
  51. 1 0
      build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/Current
  52. 10 0
      build/macos/Logs/Build/LogStoreManifest.plist
  53. 10 0
      build/macos/Logs/Launch/LogStoreManifest.plist
  54. 10 0
      build/macos/Logs/Localization/LogStoreManifest.plist
  55. 10 0
      build/macos/Logs/Package/LogStoreManifest.plist
  56. 10 0
      build/macos/Logs/Test/LogStoreManifest.plist
  57. 1 0
      build/macos/ModuleCache.noindex/Session.modulevalidation
  58. 10 0
      build/macos/info.plist
  59. 1 1
      build/web/.last_build_id
  60. 0 239
      build/web/assets/NOTICES
  61. 4 4
      build/web/flutter_service_worker.js
  62. 1 1
      build/web/index.html
  63. 294 294
      build/web/main.dart.js
  64. 9 10
      lib/detail/country_detail.dart
  65. 1 5
      lib/home/about_us.dart
  66. 0 4
      linux/flutter/generated_plugin_registrant.cc
  67. 0 1
      linux/flutter/generated_plugins.cmake
  68. 0 2
      macos/Flutter/GeneratedPluginRegistrant.swift
  69. 0 86
      pubspec.lock
  70. 1 1
      pubspec.yaml
  71. 0 3
      windows/flutter/generated_plugin_registrant.cc
  72. 0 1
      windows/flutter/generated_plugins.cmake

BIN=BIN
build/4f2a58af27abc49ecf55570043bbf938.cache.dill.track.dill


+ 1 - 1
build/app/intermediates/flutter/debug/.last_build_id

@@ -1 +1 @@
-68def3eb45b20c13d3b684fc2f4a490c
+71ce152396d008853a7f849e212b1467

+ 0 - 1
build/app/intermediates/flutter/debug/flutter_assets/AssetManifest.json

@@ -1 +0,0 @@
-{"images/.DS_Store":["images/.DS_Store"],"images/logo.png":["images/logo.png"],"images/wechat.jpg":["images/wechat.jpg"],"packages/cupertino_icons/assets/CupertinoIcons.ttf":["packages/cupertino_icons/assets/CupertinoIcons.ttf"]}

+ 0 - 1
build/app/intermediates/flutter/debug/flutter_assets/FontManifest.json

@@ -1 +0,0 @@
-[{"family":"MaterialIcons","fonts":[{"asset":"fonts/MaterialIcons-Regular.otf"}]},{"family":"packages/cupertino_icons/CupertinoIcons","fonts":[{"asset":"packages/cupertino_icons/assets/CupertinoIcons.ttf"}]}]

BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/NOTICES.Z


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/fonts/MaterialIcons-Regular.otf


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/images/logo.png


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/images/wechat.jpg


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/isolate_snapshot_data


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/shaders/ink_sparkle.frag


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/vm_snapshot_data


BIN=BIN
build/app/intermediates/flutter/debug/flutter_assets/kernel_blob.bin → build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill


+ 0 - 239
build/flutter_assets/NOTICES

@@ -792,7 +792,6 @@ engine
 gpu
 tonic
 txt
-url_launcher_web
 web_unicode
 
 Copyright 2013 The Flutter Authors. All rights reserved.
@@ -7147,14 +7146,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 --------------------------------------------------------------------------------
 flutter_lints
-plugin_platform_interface
-url_launcher
-url_launcher_android
-url_launcher_ios
-url_launcher_linux
-url_launcher_macos
-url_launcher_platform_interface
-url_launcher_windows
 
 Copyright 2013 The Flutter Authors. All rights reserved.
 
@@ -13808,211 +13799,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
---------------------------------------------------------------------------------
-platform_detect
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2017 Workiva Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
 --------------------------------------------------------------------------------
 rapidjson
 
@@ -14732,31 +14518,6 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
 
   This Source Code Form is "Incompatible With Secondary Licenses", as
   defined by the Mozilla Public License, v. 2.0.
---------------------------------------------------------------------------------
-simple_rich_text
-
-MIT License
-
-Copyright (c) 2021 Peter Alvin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
 --------------------------------------------------------------------------------
 skia
 

+ 0 - 0
build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/InputFileList-33CC111E2044C6BF0003C045-FlutterInputs-c95e21218cd54ede4f7c7b9fa7624309-resolved.xcfilelist


+ 0 - 0
build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/OutputFileList-33CC111E2044C6BF0003C045-FlutterOutputs-bfb3de0ebc2efecd53bf98bfce624853-resolved.xcfilelist


+ 2 - 0
build/macos/Build/Intermediates.noindex/Runner.build/Debug/Flutter Assemble.build/Script-33CC111E2044C6BF0003C045.sh

@@ -0,0 +1,2 @@
+#!/bin/sh
+"$FLUTTER_ROOT"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire

+ 64 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-buildRequest.json

@@ -0,0 +1,64 @@
+{
+  "_buildCommand2" : {
+    "command" : "build",
+    "skipDependencies" : false,
+    "style" : "buildOnly"
+  },
+  "buildCommand" : "build",
+  "configuredTargets" : [
+    {
+      "guid" : "18c1723432283e0cc55f10a6dcfd9e02a26d6e580d3222b86d62fb80ec380c14"
+    }
+  ],
+  "containerPath" : "/Users/honghengqiang/Flutter/learn/hengyi/macos/Runner.xcworkspace",
+  "continueBuildingAfterErrors" : false,
+  "enableIndexBuildArena" : false,
+  "hideShellScriptEnvironment" : false,
+  "parameters" : {
+    "action" : "build",
+    "activeArchitecture" : "x86_64",
+    "activeRunDestination" : {
+      "disableOnlyActiveArch" : false,
+      "platform" : "macosx",
+      "sdk" : "macosx13.1",
+      "sdkVariant" : "macos",
+      "supportedArchitectures" : [
+        "x86_64h",
+        "x86_64"
+      ],
+      "targetArchitecture" : "x86_64"
+    },
+    "arenaInfo" : {
+      "buildIntermediatesPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Build/Intermediates.noindex",
+      "buildProductsPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Build/Products",
+      "derivedDataPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos",
+      "indexDataStoreFolderPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Index.noindex/DataStore",
+      "indexEnableDataStore" : true,
+      "indexPCHPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Index.noindex/PrecompiledHeaders",
+      "pchPath" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Build/Intermediates.noindex/PrecompiledHeaders"
+    },
+    "configurationName" : "Debug",
+    "overrides" : {
+      "commandLine" : {
+        "table" : {
+          "COMPILER_INDEX_STORE_ENABLE" : "NO",
+          "OBJROOT" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Build/Intermediates.noindex",
+          "SYMROOT" : "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/Build/Products"
+        }
+      },
+      "synthesized" : {
+        "table" : {
+          "ACTION" : "build",
+          "ENABLE_PREVIEWS" : "NO"
+        }
+      }
+    }
+  },
+  "schemeCommand" : "launch",
+  "schemeCommand2" : "launch",
+  "showNonLoggedProgress" : true,
+  "useDryRun" : false,
+  "useImplicitDependencies" : true,
+  "useLegacyBuildLocations" : false,
+  "useParallelTargets" : true
+}

BIN=BIN
build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-desc.xcbuild


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-manifest.xcbuild


+ 4 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/7e5319745abfecac05f70d4b8d470952-targetGraph.txt

@@ -0,0 +1,4 @@
+Target dependency graph (2 targets)
+Flutter Assemble in Runner, no dependencies
+Runner in Runner, depends on:
+Flutter Assemble in Runner (explicit)

BIN=BIN
build/macos/Build/Intermediates.noindex/XCBuildData/BuildDescriptionCacheIndex-c58f152b2e6ed337f42112026b207da8


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/project/PROJECT@v11_mod=1678672506.311481_hash=18c1723432283e0cc55f10a6dcfd9e02plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1-json


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/target/TARGET@v11_hash=2e2666c857012d0dfbed613a3361fd22-json


+ 1 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/target/TARGET@v11_hash=ef9f24b94222f5dcb55a3c8312652e5c-json

@@ -0,0 +1 @@
+{"buildConfigurations":[{"buildSettings":{"CODE_SIGN_STYLE":"Manual","PRODUCT_NAME":"$(TARGET_NAME)"},"guid":"18c1723432283e0cc55f10a6dcfd9e02d5d345235681149dc98077be639d5732","name":"Debug"},{"buildSettings":{"CODE_SIGN_STYLE":"Automatic","PRODUCT_NAME":"$(TARGET_NAME)"},"guid":"18c1723432283e0cc55f10a6dcfd9e024173fbca35daa28e3bd208741257ac3f","name":"Release"},{"buildSettings":{"CODE_SIGN_STYLE":"Manual","PRODUCT_NAME":"$(TARGET_NAME)"},"guid":"18c1723432283e0cc55f10a6dcfd9e0235aef2f356a7eebaba70a2c1f0ccd906","name":"Profile"}],"buildPhases":[{"alwaysOutOfDate":"false","buildFiles":[],"emitEnvironment":"true","guid":"18c1723432283e0cc55f10a6dcfd9e02f4f5bcf30ee9448700f1908916ccb6e2","inputFileListPaths":["Flutter/ephemeral/FlutterInputs.xcfilelist"],"inputFilePaths":["Flutter/ephemeral/tripwire"],"name":"Run Script","originalObjectID":"33CC111E2044C6BF0003C045","outputFileListPaths":["Flutter/ephemeral/FlutterOutputs.xcfilelist"],"outputFilePaths":[],"scriptContents":"\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire","shellPath":"/bin/sh","type":"com.apple.buildphase.shell-script"}],"buildRules":[],"dependencies":[],"guid":"18c1723432283e0cc55f10a6dcfd9e02339362e37688461f7f8b651800569a9a","name":"Flutter Assemble","provisioningSourceData":[{"bundleIdentifierFromInfoPlist":"","configurationName":"Debug","legacyTeamID":"","provisioningStyle":1},{"bundleIdentifierFromInfoPlist":"","configurationName":"Release","legacyTeamID":"","provisioningStyle":0},{"bundleIdentifierFromInfoPlist":"","configurationName":"Profile","legacyTeamID":"","provisioningStyle":1}],"type":"aggregate"}

+ 1 - 0
build/macos/Build/Intermediates.noindex/XCBuildData/PIFCache/workspace/WORKSPACE@v11_hash=b44c26f79f5a7ea67f48d79c871a6cf2_subobjects=65825ffce6cf9c9180fc6ed29046987b-json

@@ -0,0 +1 @@
+{"guid":"db345a3ee8f610a90768e0d381ac2443","name":"Runner","path":"/Users/honghengqiang/Flutter/learn/hengyi/macos/Runner.xcworkspace","projects":["PROJECT@v11_mod=1678672506.311481_hash=18c1723432283e0cc55f10a6dcfd9e02plugins=1OJSG6M1FOV3XYQCBH7Z29RZ0FPR9XDE1"]}

BIN=BIN
build/macos/Build/Intermediates.noindex/XCBuildData/build.db


+ 1 - 0
build/macos/Build/Products/Debug/.last_build_id

@@ -0,0 +1 @@
+0c20a6cd6ea569c83f754075ee2b9183

+ 1 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/FlutterMacOS

@@ -0,0 +1 @@
+Versions/Current/FlutterMacOS

+ 1 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Headers

@@ -0,0 +1 @@
+Versions/Current/Headers

+ 1 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Modules

@@ -0,0 +1 @@
+Versions/Current/Modules

+ 1 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Resources

@@ -0,0 +1 @@
+Versions/Current/Resources

BIN=BIN
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/FlutterMacOS


+ 43 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterAppDelegate.h

@@ -0,0 +1,43 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERAPPDELEGATE_H_
+#define FLUTTER_FLUTTERAPPDELEGATE_H_
+
+#import <Cocoa/Cocoa.h>
+
+#import "FlutterMacros.h"
+
+/**
+ * `NSApplicationDelegate` subclass for simple apps that want default behavior.
+ *
+ * This class implements the following behaviors:
+ *   * Updates the application name of items in the application menu to match the name in
+ *     the app's Info.plist, assuming it is set to APP_NAME initially. |applicationMenu| must be
+ *     set before the application finishes launching for this to take effect.
+ *   * Updates the main Flutter window's title to match the name in the app's Info.plist.
+ *     |mainFlutterWindow| must be set before the application finishes launching for this to take
+ *     effect.
+ *
+ * App delegates for Flutter applications are *not* required to inherit from
+ * this class. Developers of custom app delegate classes should copy and paste
+ * code as necessary from FlutterAppDelegate.mm.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterAppDelegate : NSObject <NSApplicationDelegate>
+
+/**
+ * The application menu in the menu bar.
+ */
+@property(weak, nonatomic) IBOutlet NSMenu* applicationMenu;
+
+/**
+ * The primary application window containing a FlutterViewController. This is primarily intended
+ * for use in single-window applications.
+ */
+@property(weak, nonatomic) IBOutlet NSWindow* mainFlutterWindow;
+
+@end
+
+#endif  // FLUTTER_FLUTTERAPPDELEGATE_H_

+ 105 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterBinaryMessenger.h

@@ -0,0 +1,105 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERBINARYMESSENGER_H_
+#define FLUTTER_FLUTTERBINARYMESSENGER_H_
+
+#import <Foundation/Foundation.h>
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a binary reply back to a Flutter message sender. Also used
+ * in for handling a binary message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterBinaryReply)(NSData* _Nullable reply);
+
+/**
+ * A strategy for handling incoming binary messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param reply A callback for submitting an asynchronous reply to the sender.
+ */
+typedef void (^FlutterBinaryMessageHandler)(NSData* _Nullable message, FlutterBinaryReply reply);
+
+typedef int64_t FlutterBinaryMessengerConnection;
+
+@protocol FlutterTaskQueue;
+
+/**
+ * A facility for communicating with the Flutter side using asynchronous message
+ * passing with binary messages.
+ *
+ * Implementated by:
+ * - `FlutterBasicMessageChannel`, which supports communication using structured
+ * messages.
+ * - `FlutterMethodChannel`, which supports communication using asynchronous
+ * method calls.
+ * - `FlutterEventChannel`, which supports commuication using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterBinaryMessenger <NSObject>
+/// TODO(gaaclarke): Remove optional when macos supports Background Platform Channels.
+@optional
+- (NSObject<FlutterTaskQueue>*)makeBackgroundTaskQueue;
+
+- (FlutterBinaryMessengerConnection)
+    setMessageHandlerOnChannel:(NSString*)channel
+          binaryMessageHandler:(FlutterBinaryMessageHandler _Nullable)handler
+                     taskQueue:(NSObject<FlutterTaskQueue>* _Nullable)taskQueue;
+
+@required
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * no reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ */
+- (void)sendOnChannel:(NSString*)channel message:(NSData* _Nullable)message;
+
+/**
+ * Sends a binary message to the Flutter side on the specified channel, expecting
+ * an asynchronous reply.
+ *
+ * @param channel The channel name.
+ * @param message The message.
+ * @param callback A callback for receiving a reply.
+ */
+- (void)sendOnChannel:(NSString*)channel
+              message:(NSData* _Nullable)message
+          binaryReply:(FlutterBinaryReply _Nullable)callback;
+
+/**
+ * Registers a message handler for incoming binary messages from the Flutter side
+ * on the specified channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param channel The channel name.
+ * @param handler The message handler.
+ * @return An identifier that represents the connection that was just created to the channel.
+ */
+- (FlutterBinaryMessengerConnection)setMessageHandlerOnChannel:(NSString*)channel
+                                          binaryMessageHandler:
+                                              (FlutterBinaryMessageHandler _Nullable)handler;
+
+/**
+ * Clears out a channel's message handler if that handler is still the one that
+ * was created as a result of
+ * `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ *
+ * @param connection The result from `setMessageHandlerOnChannel:binaryMessageHandler:`.
+ */
+- (void)cleanUpConnection:(FlutterBinaryMessengerConnection)connection;
+@end
+NS_ASSUME_NONNULL_END
+#endif  // FLUTTER_FLUTTERBINARYMESSENGER_H_

+ 452 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterChannels.h

@@ -0,0 +1,452 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERCHANNELS_H_
+#define FLUTTER_FLUTTERCHANNELS_H_
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterCodecs.h"
+
+@protocol FlutterTaskQueue;
+
+NS_ASSUME_NONNULL_BEGIN
+/**
+ * A message reply callback.
+ *
+ * Used for submitting a reply back to a Flutter message sender. Also used in
+ * the dual capacity for handling a message reply received from Flutter.
+ *
+ * @param reply The reply.
+ */
+typedef void (^FlutterReply)(id _Nullable reply);
+
+/**
+ * A strategy for handling incoming messages from Flutter and to send
+ * asynchronous replies back to Flutter.
+ *
+ * @param message The message.
+ * @param callback A callback for submitting a reply to the sender which can be invoked from any
+ * thread.
+ */
+typedef void (^FlutterMessageHandler)(id _Nullable message, FlutterReply callback);
+
+/**
+ * A channel for communicating with the Flutter side using basic, asynchronous
+ * message passing.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBasicMessageChannel : NSObject
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name and binary
+ * messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMessageCodec` to encode and decode messages.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
+
+/**
+ * Creates a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
++ (instancetype)messageChannelWithName:(NSString*)name
+                       binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                                 codec:(NSObject<FlutterMessageCodec>*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMessageCodec>*)codec;
+
+/**
+ * Initializes a `FlutterBasicMessageChannel` with the specified name, binary
+ * messenger, and message codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The message codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+                    -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMessageCodec>*)codec
+                   taskQueue:(NSObject<FlutterTaskQueue>* _Nullable)taskQueue;
+
+/**
+ * Sends the specified message to the Flutter side, ignoring any reply.
+ *
+ * @param message The message. Must be supported by the codec of this
+ * channel.
+ */
+- (void)sendMessage:(id _Nullable)message;
+
+/**
+ * Sends the specified message to the Flutter side, expecting an asynchronous
+ * reply.
+ *
+ * @param message The message. Must be supported by the codec of this channel.
+ * @param callback A callback to be invoked with the message reply from Flutter.
+ */
+- (void)sendMessage:(id _Nullable)message reply:(FlutterReply _Nullable)callback;
+
+/**
+ * Registers a message handler with this channel.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The message handler.
+ */
+- (void)setMessageHandler:(FlutterMessageHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet.  For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+@end
+
+/**
+ * A method call result callback.
+ *
+ * Used for submitting a method call result back to a Flutter caller. Also used in
+ * the dual capacity for handling a method call result received from Flutter.
+ *
+ * @param result The result.
+ */
+typedef void (^FlutterResult)(id _Nullable result);
+
+/**
+ * A strategy for handling method calls.
+ *
+ * @param call The incoming method call.
+ * @param result A callback to asynchronously submit the result of the call.
+ *     Invoke the callback with a `FlutterError` to indicate that the call failed.
+ *     Invoke the callback with `FlutterMethodNotImplemented` to indicate that the
+ *     method was unknown. Any other values, including `nil`, are interpreted as
+ *     successful results.  This can be invoked from any thread.
+ */
+typedef void (^FlutterMethodCallHandler)(FlutterMethodCall* call, FlutterResult result);
+
+/**
+ * A constant used with `FlutterMethodCallHandler` to respond to the call of an
+ * unknown method.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterMethodNotImplemented;
+
+/**
+ * A channel for communicating with the Flutter side using invocation of
+ * asynchronous methods.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodChannel : NSObject
+/**
+ * Creates a `FlutterMethodChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to encode and decode method calls
+ * and result envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
+
+/**
+ * Creates a `FlutterMethodChannel` with the specified name, binary messenger, and
+ * method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)methodChannelWithName:(NSString*)name
+                      binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                                codec:(NSObject<FlutterMethodCodec>*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
+
+/**
+ * Initializes a `FlutterMethodChannel` with the specified name, binary messenger,
+ * method codec, and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+                    -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMethodCodec>*)codec
+                   taskQueue:(NSObject<FlutterTaskQueue>* _Nullable)taskQueue;
+
+// clang-format off
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * no results.
+ *
+ * @see [MethodChannel.setMethodCallHandler](https://api.flutter.dev/flutter/services/MethodChannel/setMethodCallHandler.html)
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ *     channel.
+ */
+// clang-format on
+- (void)invokeMethod:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * Invokes the specified Flutter method with the specified arguments, expecting
+ * an asynchronous result.
+ *
+ * @param method The name of the method to invoke.
+ * @param arguments The arguments. Must be a value supported by the codec of this
+ *     channel.
+ * @param callback A callback that will be invoked with the asynchronous result.
+ *     The result will be a `FlutterError` instance, if the method call resulted
+ *     in an error on the Flutter side. Will be `FlutterMethodNotImplemented`, if
+ *     the method called was not implemented on the Flutter side. Any other value,
+ *     including `nil`, should be interpreted as successful results.
+ */
+- (void)invokeMethod:(NSString*)method
+           arguments:(id _Nullable)arguments
+              result:(FlutterResult _Nullable)callback;
+/**
+ * Registers a handler for method calls from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The method call handler.
+ */
+- (void)setMethodCallHandler:(FlutterMethodCallHandler _Nullable)handler;
+
+/**
+ * Adjusts the number of messages that will get buffered when sending messages to
+ * channels that aren't fully set up yet.  For example, the engine isn't running
+ * yet or the channel's message handler isn't set up on the Dart side yet.
+ */
+- (void)resizeChannelBuffer:(NSInteger)newSize;
+
+@end
+
+/**
+ * An event sink callback.
+ *
+ * @param event The event.
+ */
+typedef void (^FlutterEventSink)(id _Nullable event);
+
+/**
+ * A strategy for exposing an event stream to the Flutter side.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterStreamHandler
+/**
+ * Sets up an event stream and begin emitting events.
+ *
+ * Invoked when the first listener is registered with the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * @param arguments Arguments for the stream.
+ * @param events A callback to asynchronously emit events. Invoke the
+ *     callback with a `FlutterError` to emit an error event. Invoke the
+ *     callback with `FlutterEndOfEventStream` to indicate that no more
+ *     events will be emitted. Any other value, including `nil` are emitted as
+ *     successful events.
+ * @return A FlutterError instance, if setup fails.
+ */
+- (FlutterError* _Nullable)onListenWithArguments:(id _Nullable)arguments
+                                       eventSink:(FlutterEventSink)events;
+
+/**
+ * Tears down an event stream.
+ *
+ * Invoked when the last listener is deregistered from the Stream associated to
+ * this channel on the Flutter side.
+ *
+ * The channel implementation may call this method with `nil` arguments
+ * to separate a pair of two consecutive set up requests. Such request pairs
+ * may occur during Flutter hot restart.
+ *
+ * @param arguments Arguments for the stream.
+ * @return A FlutterError instance, if teardown fails.
+ */
+- (FlutterError* _Nullable)onCancelWithArguments:(id _Nullable)arguments;
+@end
+
+/**
+ * A constant used with `FlutterEventChannel` to indicate end of stream.
+ */
+FLUTTER_DARWIN_EXPORT
+extern NSObject const* FlutterEndOfEventStream;
+
+/**
+ * A channel for communicating with the Flutter side using event streams.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEventChannel : NSObject
+/**
+ * Creates a `FlutterEventChannel` with the specified name and binary messenger.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * The channel uses `FlutterStandardMethodCodec` to decode stream setup and
+ * teardown requests, and to encode event envelopes.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger;
+
+/**
+ * Creates a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
++ (instancetype)eventChannelWithName:(NSString*)name
+                     binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                               codec:(NSObject<FlutterMethodCodec>*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * and method codec.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMethodCodec>*)codec;
+
+/**
+ * Initializes a `FlutterEventChannel` with the specified name, binary messenger,
+ * method codec and task queue.
+ *
+ * The channel name logically identifies the channel; identically named channels
+ * interfere with each other's communication.
+ *
+ * The binary messenger is a facility for sending raw, binary messages to the
+ * Flutter side. This protocol is implemented by `FlutterEngine` and `FlutterViewController`.
+ *
+ * @param name The channel name.
+ * @param messenger The binary messenger.
+ * @param codec The method codec.
+ * @param taskQueue The FlutterTaskQueue that executes the handler (see
+                    -[FlutterBinaryMessenger makeBackgroundTaskQueue]).
+ */
+- (instancetype)initWithName:(NSString*)name
+             binaryMessenger:(NSObject<FlutterBinaryMessenger>*)messenger
+                       codec:(NSObject<FlutterMethodCodec>*)codec
+                   taskQueue:(NSObject<FlutterTaskQueue>* _Nullable)taskQueue;
+/**
+ * Registers a handler for stream setup requests from the Flutter side.
+ *
+ * Replaces any existing handler. Use a `nil` handler for unregistering the
+ * existing handler.
+ *
+ * @param handler The stream handler.
+ */
+- (void)setStreamHandler:(NSObject<FlutterStreamHandler>* _Nullable)handler;
+@end
+NS_ASSUME_NONNULL_END
+
+#endif  // FLUTTER_FLUTTERCHANNELS_H_

+ 476 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterCodecs.h

@@ -0,0 +1,476 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERCODECS_H_
+#define FLUTTER_FLUTTERCODECS_H_
+
+#import <Foundation/Foundation.h>
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * A message encoding/decoding mechanism.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMessageCodec
+/**
+ * Returns a shared instance of this `FlutterMessageCodec`.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified message into binary.
+ *
+ * @param message The message.
+ * @return The binary encoding, or `nil`, if `message` was `nil`.
+ */
+- (NSData* _Nullable)encode:(id _Nullable)message;
+
+/**
+ * Decodes the specified message from binary.
+ *
+ * @param message The message.
+ * @return The decoded message, or `nil`, if `message` was `nil`.
+ */
+- (id _Nullable)decode:(NSData* _Nullable)message;
+@end
+
+/**
+ * A `FlutterMessageCodec` using unencoded binary messages, represented as
+ * `NSData` instances.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [BinaryCodec](https://api.flutter.dev/flutter/services/BinaryCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * On the Dart side, messages are represented using `ByteData`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterBinaryCodec : NSObject <FlutterMessageCodec>
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded `NSString` messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StringCodec](https://api.flutter.dev/flutter/services/StringCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStringCodec : NSObject <FlutterMessageCodec>
+@end
+
+/**
+ * A `FlutterMessageCodec` using UTF-8 encoded JSON messages.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMessageCodec](https://api.flutter.dev/flutter/services/JSONMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supports values accepted by `NSJSONSerialization` plus top-level
+ * `nil`, `NSNumber`, and `NSString`.
+ *
+ * On the Dart side, JSON messages are handled by the JSON facilities of the
+ * [`dart:convert`](https://api.dartlang.org/stable/dart-convert/JSON-constant.html)
+ * package.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMessageCodec : NSObject <FlutterMessageCodec>
+@end
+
+/**
+ * A writer of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `writeValue`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardWriter : NSObject
+/**
+ * Create a `FlutterStandardWriter` who will write to \p data.
+ */
+- (instancetype)initWithData:(NSMutableData*)data;
+/** Write a 8-bit byte. */
+- (void)writeByte:(UInt8)value;
+/** Write an array of \p bytes of size \p length. */
+- (void)writeBytes:(const void*)bytes length:(NSUInteger)length;
+/** Write an array of bytes contained in \p data. */
+- (void)writeData:(NSData*)data;
+/** Write 32-bit unsigned integer that represents a \p size of a collection. */
+- (void)writeSize:(UInt32)size;
+/** Write zero padding until data is aligned with \p alignment. */
+- (void)writeAlignment:(UInt8)alignment;
+/** Write a string with UTF-8 encoding. */
+- (void)writeUTF8:(NSString*)value;
+/** Introspects into an object and writes its representation.
+ *
+ * Supported Data Types:
+ *  - NSNull
+ *  - NSNumber
+ *  - NSString (as UTF-8)
+ *  - FlutterStandardTypedData
+ *  - NSArray of supported types
+ *  - NSDictionary of supporte types
+ *
+ * NSAsserts on failure.
+ */
+- (void)writeValue:(id)value;
+@end
+
+/**
+ * A reader of the Flutter standard binary encoding.
+ *
+ * See `FlutterStandardMessageCodec` for details on the encoding.
+ *
+ * The encoding is extensible via subclasses overriding `readValueOfType`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReader : NSObject
+/**
+ * Create a new `FlutterStandardReader` who reads from \p data.
+ */
+- (instancetype)initWithData:(NSData*)data;
+/** Returns YES when the reader hasn't reached the end of its data. */
+- (BOOL)hasMore;
+/** Reads a byte value and increments the position. */
+- (UInt8)readByte;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (void)readBytes:(void*)destination length:(NSUInteger)length;
+/** Reads a sequence of byte values of \p length and increments the position. */
+- (NSData*)readData:(NSUInteger)length;
+/** Reads a 32-bit unsigned integer representing a collection size and increments the position.*/
+- (UInt32)readSize;
+/** Advances the read position until it is aligned with \p alignment. */
+- (void)readAlignment:(UInt8)alignment;
+/** Read a null terminated string encoded with UTF-8/ */
+- (NSString*)readUTF8;
+/**
+ * Reads a byte for `FlutterStandardField` the decodes a value matching that type.
+ *
+ * See also: -[FlutterStandardWriter writeValue]
+ */
+- (nullable id)readValue;
+/**
+ * Decodes a value matching the \p type specified.
+ *
+ * See also:
+ *   - `FlutterStandardField`
+ *   - `-[FlutterStandardWriter writeValue]`
+ */
+- (nullable id)readValueOfType:(UInt8)type;
+@end
+
+/**
+ * A factory of compatible reader/writer instances using the Flutter standard
+ * binary encoding or extensions thereof.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardReaderWriter : NSObject
+/**
+ * Create a new `FlutterStandardWriter` for writing to \p data.
+ */
+- (FlutterStandardWriter*)writerWithData:(NSMutableData*)data;
+/**
+ * Create a new `FlutterStandardReader` for reading from \p data.
+ */
+- (FlutterStandardReader*)readerWithData:(NSData*)data;
+@end
+
+/**
+ * A `FlutterMessageCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMessageCodec](https://api.flutter.dev/flutter/services/StandardMessageCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Supported messages are acyclic values of these forms:
+ *
+ * - `nil` or `NSNull`
+ * - `NSNumber` (including their representation of Boolean values)
+ * - `NSString`
+ * - `FlutterStandardTypedData`
+ * - `NSArray` of supported values
+ * - `NSDictionary` with supported keys and values
+ *
+ * On the Dart side, these values are represented as follows:
+ *
+ * - `nil` or `NSNull`: null
+ * - `NSNumber`: `bool`, `int`, or `double`, depending on the contained value.
+ * - `NSString`: `String`
+ * - `FlutterStandardTypedData`: `Uint8List`, `Int32List`, `Int64List`, or `Float64List`
+ * - `NSArray`: `List`
+ * - `NSDictionary`: `Map`
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMessageCodec : NSObject <FlutterMessageCodec>
+/**
+ * Create a `FlutterStandardMessageCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+/**
+ * Command object representing a method call on a `FlutterMethodChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterMethodCall : NSObject
+/**
+ * Creates a method call for invoking the specified named method with the
+ * specified arguments.
+ *
+ * @param method the name of the method to call.
+ * @param arguments the arguments value.
+ */
++ (instancetype)methodCallWithMethodName:(NSString*)method arguments:(id _Nullable)arguments;
+
+/**
+ * The method name.
+ */
+@property(readonly, nonatomic) NSString* method;
+
+/**
+ * The arguments.
+ */
+@property(readonly, nonatomic, nullable) id arguments;
+@end
+
+/**
+ * Error object representing an unsuccessful outcome of invoking a method
+ * on a `FlutterMethodChannel`, or an error event on a `FlutterEventChannel`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterError : NSObject
+/**
+ * Creates a `FlutterError` with the specified error code, message, and details.
+ *
+ * @param code An error code string for programmatic use.
+ * @param message A human-readable error message.
+ * @param details Custom error details.
+ */
++ (instancetype)errorWithCode:(NSString*)code
+                      message:(NSString* _Nullable)message
+                      details:(id _Nullable)details;
+/**
+ The error code.
+ */
+@property(readonly, nonatomic) NSString* code;
+
+/**
+ The error message.
+ */
+@property(readonly, nonatomic, nullable) NSString* message;
+
+/**
+ The error details.
+ */
+@property(readonly, nonatomic, nullable) id details;
+@end
+
+/**
+ * Type of numeric data items encoded in a `FlutterStandardDataType`.
+ *
+ * - FlutterStandardDataTypeUInt8: plain bytes
+ * - FlutterStandardDataTypeInt32: 32-bit signed integers
+ * - FlutterStandardDataTypeInt64: 64-bit signed integers
+ * - FlutterStandardDataTypeFloat64: 64-bit floats
+ */
+typedef NS_ENUM(NSInteger, FlutterStandardDataType) {
+  FlutterStandardDataTypeUInt8,
+  FlutterStandardDataTypeInt32,
+  FlutterStandardDataTypeInt64,
+  FlutterStandardDataTypeFloat32,
+  FlutterStandardDataTypeFloat64,
+};
+
+/**
+ * A byte buffer holding `UInt8`, `SInt32`, `SInt64`, or `Float64` values, used
+ * with `FlutterStandardMessageCodec` and `FlutterStandardMethodCodec`.
+ *
+ * Two's complement encoding is used for signed integers. IEEE754
+ * double-precision representation is used for floats. The platform's native
+ * endianness is assumed.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardTypedData : NSObject
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as plain bytes.
+ *
+ * @param data the byte data.
+ */
++ (instancetype)typedDataWithBytes:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 4.
+ */
++ (instancetype)typedDataWithInt32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit signed integers.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithInt64:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 32-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat32:(NSData*)data;
+
+/**
+ * Creates a `FlutterStandardTypedData` which interprets the specified data
+ * as 64-bit floats.
+ *
+ * @param data the byte data. The length must be divisible by 8.
+ */
++ (instancetype)typedDataWithFloat64:(NSData*)data;
+
+/**
+ * The raw underlying data buffer.
+ */
+@property(readonly, nonatomic) NSData* data;
+
+/**
+ * The type of the encoded values.
+ */
+@property(readonly, nonatomic) FlutterStandardDataType type;
+
+/**
+ * The number of value items encoded.
+ */
+@property(readonly, nonatomic) UInt32 elementCount;
+
+/**
+ * The number of bytes used by the encoding of a single value item.
+ */
+@property(readonly, nonatomic) UInt8 elementSize;
+@end
+
+/**
+ * An arbitrarily large integer value, used with `FlutterStandardMessageCodec`
+ * and `FlutterStandardMethodCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+FLUTTER_UNAVAILABLE("Unavailable on 2018-08-31. Deprecated on 2018-01-09. "
+                    "FlutterStandardBigInteger was needed because the Dart 1.0 int type had no "
+                    "size limit. With Dart 2.0, the int type is a fixed-size, 64-bit signed "
+                    "integer. If you need to communicate larger integers, use NSString encoding "
+                    "instead.")
+@interface FlutterStandardBigInteger : NSObject
+@end
+
+/**
+ * A codec for method calls and enveloped results.
+ *
+ * Method calls are encoded as binary messages with enough structure that the
+ * codec can extract a method name `NSString` and an arguments `NSObject`,
+ * possibly `nil`. These data items are used to populate a `FlutterMethodCall`.
+ *
+ * Result envelopes are encoded as binary messages with enough structure that
+ * the codec can determine whether the result was successful or an error. In
+ * the former case, the codec can extract the result `NSObject`, possibly `nil`.
+ * In the latter case, the codec can extract an error code `NSString`, a
+ * human-readable `NSString` error message (possibly `nil`), and a custom
+ * error details `NSObject`, possibly `nil`. These data items are used to
+ * populate a `FlutterError`.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterMethodCodec
+/**
+ * Provides access to a shared instance this codec.
+ *
+ * @return The shared instance.
+ */
++ (instancetype)sharedInstance;
+
+/**
+ * Encodes the specified method call into binary.
+ *
+ * @param methodCall The method call. The arguments value
+ *   must be supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeMethodCall:(FlutterMethodCall*)methodCall;
+
+/**
+ * Decodes the specified method call from binary.
+ *
+ * @param methodCall The method call to decode.
+ * @return The decoded method call.
+ */
+- (FlutterMethodCall*)decodeMethodCall:(NSData*)methodCall;
+
+/**
+ * Encodes the specified successful result into binary.
+ *
+ * @param result The result. Must be a value supported by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeSuccessEnvelope:(id _Nullable)result;
+
+/**
+ * Encodes the specified error result into binary.
+ *
+ * @param error The error object. The error details value must be supported
+ *   by this codec.
+ * @return The binary encoding.
+ */
+- (NSData*)encodeErrorEnvelope:(FlutterError*)error;
+
+/**
+ * Deccodes the specified result envelope from binary.
+ *
+ * @param envelope The error object.
+ * @return The result value, if the envelope represented a successful result,
+ *   or a `FlutterError` instance, if not.
+ */
+- (id _Nullable)decodeEnvelope:(NSData*)envelope;
+@end
+
+/**
+ * A `FlutterMethodCodec` using UTF-8 encoded JSON method calls and result
+ * envelopes.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [JSONMethodCodec](https://api.flutter.dev/flutter/services/JSONMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as methods arguments and result payloads are
+ * those supported as top-level or leaf values by `FlutterJSONMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterJSONMethodCodec : NSObject <FlutterMethodCodec>
+@end
+
+/**
+ * A `FlutterMethodCodec` using the Flutter standard binary encoding.
+ *
+ * This codec is guaranteed to be compatible with the corresponding
+ * [StandardMethodCodec](https://api.flutter.dev/flutter/services/StandardMethodCodec-class.html)
+ * on the Dart side. These parts of the Flutter SDK are evolved synchronously.
+ *
+ * Values supported as method arguments and result payloads are those supported by
+ * `FlutterStandardMessageCodec`.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterStandardMethodCodec : NSObject <FlutterMethodCodec>
+/**
+ * Create a `FlutterStandardMethodCodec` who will read and write to \p readerWriter.
+ */
++ (instancetype)codecWithReaderWriter:(FlutterStandardReaderWriter*)readerWriter;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif  // FLUTTER_FLUTTERCODECS_H_

+ 51 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterDartProject.h

@@ -0,0 +1,51 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERDARTPROJECT_H_
+#define FLUTTER_FLUTTERDARTPROJECT_H_
+
+#import <Foundation/Foundation.h>
+
+#import "FlutterMacros.h"
+
+/**
+ * A set of Flutter and Dart assets used by a `FlutterEngine` to initialize execution.
+ *
+ * TODO(stuartmorgan): Align API with FlutterDartProject, and combine.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterDartProject : NSObject
+
+/**
+ * Initializes a Flutter Dart project from a bundle.
+ *
+ * The bundle must either contain a flutter_assets resource directory, or set the Info.plist key
+ * FLTAssetsPath to override that name (if you are doing a custom build using a different name).
+ *
+ * @param bundle The bundle containing the Flutter assets directory. If nil, the App framework
+ *               created by Flutter will be used.
+ */
+- (nonnull instancetype)initWithPrecompiledDartBundle:(nullable NSBundle*)bundle
+    NS_DESIGNATED_INITIALIZER;
+
+/**
+ * If set, allows the Flutter project to use the dart:mirrors library.
+ *
+ * Deprecated: This function is temporary and will be removed in a future release.
+ */
+@property(nonatomic) bool enableMirrors;
+
+/**
+ * An NSArray of NSStrings to be passed as command line arguments to the Dart entrypoint.
+ *
+ * If this is not explicitly set, this will default to the contents of
+ * [NSProcessInfo arguments], without the binary name.
+ *
+ * Set this to nil to pass no arguments to the Dart entrypoint.
+ */
+@property(nonatomic, nullable, copy) NSArray<NSString*>* dartEntrypointArguments;
+
+@end
+
+#endif  // FLUTTER_FLUTTERDARTPROJECT_H_

+ 87 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterEngine.h

@@ -0,0 +1,87 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERENGINE_H_
+#define FLUTTER_FLUTTERENGINE_H_
+
+#import <Foundation/Foundation.h>
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterDartProject.h"
+#import "FlutterMacros.h"
+#import "FlutterPluginRegistrarMacOS.h"
+#import "FlutterTexture.h"
+
+// TODO: Merge this file with the iOS FlutterEngine.h.
+
+@class FlutterViewController;
+
+/**
+ * Coordinates a single instance of execution of a Flutter engine.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterEngine : NSObject <FlutterTextureRegistry, FlutterPluginRegistry>
+
+/**
+ * Initializes an engine with the given project.
+ *
+ * @param labelPrefix Currently unused; in the future, may be used for labelling threads
+ *                    as with the iOS FlutterEngine.
+ * @param project The project configuration. If nil, a default FlutterDartProject will be used.
+ */
+- (nonnull instancetype)initWithName:(nonnull NSString*)labelPrefix
+                             project:(nullable FlutterDartProject*)project;
+
+/**
+ * Initializes an engine that can run headlessly with the given project.
+ *
+ * @param labelPrefix Currently unused; in the future, may be used for labelling threads
+ *                    as with the iOS FlutterEngine.
+ * @param project The project configuration. If nil, a default FlutterDartProject will be used.
+ */
+- (nonnull instancetype)initWithName:(nonnull NSString*)labelPrefix
+                             project:(nullable FlutterDartProject*)project
+              allowHeadlessExecution:(BOOL)allowHeadlessExecution NS_DESIGNATED_INITIALIZER;
+
+- (nonnull instancetype)init NS_UNAVAILABLE;
+
+/**
+ * Runs a Dart program on an Isolate from the main Dart library (i.e. the library that
+ * contains `main()`).
+ *
+ * The first call to this method will create a new Isolate. Subsequent calls will return
+ * immediately.
+ *
+ * @param entrypoint The name of a top-level function from the same Dart
+ *   library that contains the app's main() function.  If this is nil, it will
+ *   default to `main()`.  If it is not the app's main() function, that function
+ *   must be decorated with `@pragma(vm:entry-point)` to ensure the method is not
+ *   tree-shaken by the Dart compiler.
+ * @return YES if the call succeeds in creating and running a Flutter Engine instance; NO otherwise.
+ */
+- (BOOL)runWithEntrypoint:(nullable NSString*)entrypoint;
+
+/**
+ * The default `FlutterViewController` associated with this engine, if any.
+ *
+ * The default view always has ID kFlutterDefaultViewId, and is the view
+ * operated by the APIs that do not have a view ID specified.
+ */
+@property(nonatomic, nullable, weak) FlutterViewController* viewController;
+
+/**
+ * The `FlutterBinaryMessenger` for communicating with this engine.
+ */
+@property(nonatomic, nonnull, readonly) id<FlutterBinaryMessenger> binaryMessenger;
+
+/**
+ * Shuts the Flutter engine if it is running. The FlutterEngine instance must always be shutdown
+ * before it may be collected. Not shutting down the FlutterEngine instance before releasing it will
+ * result in the leak of that engine instance.
+ */
+- (void)shutDownEngine;
+
+@end
+
+#endif  // FLUTTER_FLUTTERENGINE_H_

+ 15 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterMacOS.h

@@ -0,0 +1,15 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "FlutterAppDelegate.h"
+#import "FlutterBinaryMessenger.h"
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterDartProject.h"
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+#import "FlutterPluginMacOS.h"
+#import "FlutterPluginRegistrarMacOS.h"
+#import "FlutterTexture.h"
+#import "FlutterViewController.h"

+ 48 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterMacros.h

@@ -0,0 +1,48 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERMACROS_H_
+#define FLUTTER_FLUTTERMACROS_H_
+
+#if defined(FLUTTER_FRAMEWORK)
+
+#define FLUTTER_DARWIN_EXPORT __attribute__((visibility("default")))
+
+#else  // defined(FLUTTER_SDK)
+
+#define FLUTTER_DARWIN_EXPORT
+
+#endif  // defined(FLUTTER_SDK)
+
+#ifndef NS_ASSUME_NONNULL_BEGIN
+#define NS_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin")
+#define NS_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end")
+#endif  // defined(NS_ASSUME_NONNULL_BEGIN)
+
+/**
+ * Indicates that the API has been deprecated for the specified reason. Code
+ * that uses the deprecated API will continue to work as before. However, the
+ * API will soon become unavailable and users are encouraged to immediately take
+ * the appropriate action mentioned in the deprecation message and the BREAKING
+ * CHANGES section present in the Flutter.h umbrella header.
+ */
+#define FLUTTER_DEPRECATED(msg) __attribute__((__deprecated__(msg)))
+
+/**
+ * Indicates that the previously deprecated API is now unavailable. Code that
+ * uses the API will not work and the declaration of the API is only a stub
+ * meant to display the given message detailing the actions for the user to take
+ * immediately.
+ */
+#define FLUTTER_UNAVAILABLE(msg) __attribute__((__unavailable__(msg)))
+
+#if __has_feature(objc_arc)
+#define FLUTTER_ASSERT_ARC
+#define FLUTTER_ASSERT_NOT_ARC #error ARC must be disabled !
+#else
+#define FLUTTER_ASSERT_ARC #error ARC must be enabled !
+#define FLUTTER_ASSERT_NOT_ARC
+#endif
+
+#endif  // FLUTTER_FLUTTERMACROS_H_

+ 40 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPlatformViews.h

@@ -0,0 +1,40 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERPLATFORMVIEWS_H_
+#define FLUTTER_FLUTTERPLATFORMVIEWS_H_
+
+#import <AppKit/AppKit.h>
+
+#import "FlutterCodecs.h"
+#import "FlutterMacros.h"
+
+@protocol FlutterPlatformViewFactory <NSObject>
+
+/**
+ * Create a Platform View which is an `NSView`.
+ *
+ * A MacOS plugin should implement this method and return an `NSView`, which can be embedded in a
+ * Flutter App.
+ *
+ * The implementation of this method should create a new `NSView`.
+ *
+ * @param viewId A unique identifier for this view.
+ * @param args Parameters for creating the view sent from the Dart side of the
+ * Flutter app. If `createArgsCodec` is not implemented, or if no creation arguments were sent from
+ * the Dart code, this will be null. Otherwise this will be the value sent from the Dart code as
+ * decoded by `createArgsCodec`.
+ */
+- (nonnull NSView*)createWithViewIdentifier:(int64_t)viewId arguments:(nullable id)args;
+
+/**
+ * Returns the `FlutterMessageCodec` for decoding the args parameter of `createWithFrame`.
+ *
+ * Only implement this if `createWithFrame` needs an arguments parameter.
+ */
+@optional
+- (nullable NSObject<FlutterMessageCodec>*)createArgsCodec;
+@end
+
+#endif  // FLUTTER_FLUTTERPLATFORMVIEWS_H_

+ 49 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPluginMacOS.h

@@ -0,0 +1,49 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Foundation/Foundation.h>
+
+#import "FlutterChannels.h"
+#import "FlutterCodecs.h"
+#import "FlutterMacros.h"
+
+// TODO: Merge this file and FlutterPluginRegistrarMacOS.h with the iOS FlutterPlugin.h, sharing
+// all but the platform-specific methods.
+
+@protocol FlutterPluginRegistrar;
+
+/**
+ * Implemented by the platform side of a Flutter plugin.
+ *
+ * Defines a set of optional callback methods and a method to set up the plugin
+ * and register it to be called by other application components.
+ *
+ * Currently the macOS version of FlutterPlugin has very limited functionality, but is expected to
+ * expand over time to more closely match the functionality of the iOS FlutterPlugin.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterPlugin <NSObject>
+
+/**
+ * Creates an instance of the plugin to register with |registrar| using the desired
+ * FlutterPluginRegistrar methods.
+ */
++ (void)registerWithRegistrar:(nonnull id<FlutterPluginRegistrar>)registrar;
+
+@optional
+
+/**
+ * Called when a message is sent from Flutter on a channel that a plugin instance has subscribed
+ * to via -[FlutterPluginRegistrar addMethodCallDelegate:channel:].
+ *
+ * The |result| callback must be called exactly once, with one of:
+ * - FlutterMethodNotImplemented, if the method call is unknown.
+ * - A FlutterError, if the method call was understood but there was a
+ *   problem handling it.
+ * - Any other value (including nil) to indicate success. The value will
+ *   be returned to the Flutter caller, and must be serializable to JSON.
+ */
+- (void)handleMethodCall:(nonnull FlutterMethodCall*)call result:(nonnull FlutterResult)result;
+
+@end

+ 91 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterPluginRegistrarMacOS.h

@@ -0,0 +1,91 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#import "FlutterBinaryMessenger.h"
+#import "FlutterChannels.h"
+#import "FlutterMacros.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterPluginMacOS.h"
+#import "FlutterTexture.h"
+
+// TODO: Merge this file and FlutterPluginMacOS.h with the iOS FlutterPlugin.h, sharing all but
+// the platform-specific methods.
+
+/**
+ * The protocol for an object managing registration for a plugin. It provides access to application
+ * context, as as allowing registering for callbacks for handling various conditions.
+ *
+ * Currently the macOS PluginRegistrar has very limited functionality, but is expected to expand
+ * over time to more closely match the functionality of FlutterPluginRegistrar.
+ */
+FLUTTER_DARWIN_EXPORT
+@protocol FlutterPluginRegistrar <NSObject>
+
+/**
+ * The binary messenger used for creating channels to communicate with the Flutter engine.
+ */
+@property(nonnull, readonly) id<FlutterBinaryMessenger> messenger;
+
+/**
+ * Returns a `FlutterTextureRegistry` for registering textures
+ * provided by the plugin.
+ */
+@property(nonnull, readonly) id<FlutterTextureRegistry> textures;
+
+/**
+ * The view displaying Flutter content. May return |nil|, for instance in a headless environment.
+ *
+ * WARNING: If/when multiple Flutter views within the same application are supported (#30701), this
+ * API will change.
+ */
+@property(nullable, readonly) NSView* view;
+
+/**
+ * Registers |delegate| to receive handleMethodCall:result: callbacks for the given |channel|.
+ */
+- (void)addMethodCallDelegate:(nonnull id<FlutterPlugin>)delegate
+                      channel:(nonnull FlutterMethodChannel*)channel;
+
+/**
+ * Registers a `FlutterPlatformViewFactory` for creation of platform views.
+ *
+ * Plugins expose `NSView` for embedding in Flutter apps by registering a view factory.
+ *
+ * @param factory The view factory that will be registered.
+ * @param factoryId A unique identifier for the factory, the Dart code of the Flutter app can use
+ *   this identifier to request creation of a `NSView` by the registered factory.
+ */
+- (void)registerViewFactory:(nonnull NSObject<FlutterPlatformViewFactory>*)factory
+                     withId:(nonnull NSString*)factoryId;
+
+@end
+
+/**
+ * A registry of Flutter macOS plugins.
+ *
+ * Plugins are identified by unique string keys, typically the name of the
+ * plugin's main class.
+ *
+ * Plugins typically need contextual information and the ability to register
+ * callbacks for various application events. To keep the API of the registry
+ * focused, these facilities are not provided directly by the registry, but by
+ * a `FlutterPluginRegistrar`, created by the registry in exchange for the unique
+ * key of the plugin.
+ *
+ * There is no implied connection between the registry and the registrar.
+ * Specifically, callbacks registered by the plugin via the registrar may be
+ * relayed directly to the underlying iOS application objects.
+ */
+@protocol FlutterPluginRegistry <NSObject>
+
+/**
+ * Returns a registrar for registering a plugin.
+ *
+ * @param pluginKey The unique key identifying the plugin.
+ */
+- (nonnull id<FlutterPluginRegistrar>)registrarForPlugin:(nonnull NSString*)pluginKey;
+
+@end

+ 62 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterTexture.h

@@ -0,0 +1,62 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef FLUTTER_FLUTTERTEXTURE_H_
+#define FLUTTER_FLUTTERTEXTURE_H_
+
+#import <CoreMedia/CoreMedia.h>
+#import <Foundation/Foundation.h>
+
+#import "FlutterMacros.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * Represents a texture that can be shared with Flutter.
+ *
+ * See also: https://github.com/flutter/plugins/tree/master/packages/camera
+ */
+@protocol FlutterTexture <NSObject>
+/** Copy the contents of the texture into a `CVPixelBuffer`. */
+- (CVPixelBufferRef _Nullable)copyPixelBuffer;
+
+/**
+ * Called when the texture is unregistered.
+ *
+ * Called on the raster thread.
+ */
+@optional
+- (void)onTextureUnregistered:(NSObject<FlutterTexture>*)texture;
+@end
+
+FLUTTER_DARWIN_EXPORT
+/**
+ * A collection of registered `FlutterTexture`'s.
+ */
+@protocol FlutterTextureRegistry <NSObject>
+/**
+ * Registers a `FlutterTexture` for usage in Flutter and returns an id that can be used to reference
+ * that texture when calling into Flutter with channels. Textures must be registered on the
+ * platform thread. On success returns the pointer to the registered texture, else returns 0.
+ */
+- (int64_t)registerTexture:(NSObject<FlutterTexture>*)texture;
+/**
+ * Notifies Flutter that the content of the previously registered texture has been updated.
+ *
+ * This will trigger a call to `-[FlutterTexture copyPixelBuffer]` on the raster thread.
+ */
+- (void)textureFrameAvailable:(int64_t)textureId;
+/**
+ * Unregisters a `FlutterTexture` that has previously regeistered with `registerTexture:`. Textures
+ * must be unregistered on the platform thread.
+ *
+ * @param textureId The result that was previously returned from `registerTexture:`.
+ */
+- (void)unregisterTexture:(int64_t)textureId;
+@end
+
+NS_ASSUME_NONNULL_END
+
+#endif  // FLUTTER_FLUTTERTEXTURE_H_

+ 120 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Headers/FlutterViewController.h

@@ -0,0 +1,120 @@
+// Copyright 2013 The Flutter Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import <Cocoa/Cocoa.h>
+
+#import "FlutterEngine.h"
+#import "FlutterMacros.h"
+#import "FlutterPlatformViews.h"
+#import "FlutterPluginRegistrarMacOS.h"
+
+/**
+ * Values for the `mouseTrackingMode` property.
+ */
+typedef NS_ENUM(NSInteger, FlutterMouseTrackingMode) {
+  // Hover events will never be sent to Flutter.
+  FlutterMouseTrackingModeNone = 0,
+  // Hover events will be sent to Flutter when the view is in the key window.
+  FlutterMouseTrackingModeInKeyWindow,
+  // Hover events will be sent to Flutter when the view is in the active app.
+  FlutterMouseTrackingModeInActiveApp,
+  // Hover events will be sent to Flutter regardless of window and app focus.
+  FlutterMouseTrackingModeAlways,
+};
+
+/**
+ * Controls a view that displays Flutter content and manages input.
+ */
+FLUTTER_DARWIN_EXPORT
+@interface FlutterViewController : NSViewController <FlutterPluginRegistry>
+
+/**
+ * The Flutter engine associated with this view controller.
+ */
+@property(nonatomic, nonnull, readonly) FlutterEngine* engine;
+
+/**
+ * The style of mouse tracking to use for the view. Defaults to
+ * FlutterMouseTrackingModeInKeyWindow.
+ */
+@property(nonatomic) FlutterMouseTrackingMode mouseTrackingMode;
+
+/**
+ * Initializes a controller that will run the given project.
+ *
+ * @param project The project to run in this view controller. If nil, a default `FlutterDartProject`
+ *                will be used.
+ */
+- (nonnull instancetype)initWithProject:(nullable FlutterDartProject*)project
+    NS_DESIGNATED_INITIALIZER;
+
+- (nonnull instancetype)initWithNibName:(nullable NSString*)nibNameOrNil
+                                 bundle:(nullable NSBundle*)nibBundleOrNil
+    NS_DESIGNATED_INITIALIZER;
+- (nonnull instancetype)initWithCoder:(nonnull NSCoder*)nibNameOrNil NS_DESIGNATED_INITIALIZER;
+/**
+ * Initializes this FlutterViewController with the specified `FlutterEngine`.
+ *
+ * The initialized viewcontroller will attach itself to the engine as part of this process.
+ *
+ * @param engine The `FlutterEngine` instance to attach to. Cannot be nil.
+ * @param nibName The NIB name to initialize this controller with.
+ * @param nibBundle The NIB bundle.
+ */
+- (nonnull instancetype)initWithEngine:(nonnull FlutterEngine*)engine
+                               nibName:(nullable NSString*)nibName
+                                bundle:(nullable NSBundle*)nibBundle NS_DESIGNATED_INITIALIZER;
+/**
+ * Invoked by the engine right before the engine is restarted.
+ *
+ * This should reset states to as if the application has just started.  It
+ * usually indicates a hot restart (Shift-R in Flutter CLI.)
+ */
+- (void)onPreEngineRestart;
+
+/**
+ * The contentView (FlutterView)'s background color is set to black during
+ * its instantiation.
+ *
+ * The containing layer's color can be set to the NSColor provided to this method.
+ *
+ * For example, the background may be set after the FlutterViewController
+ * is instantiated in MainFlutterWindow.swift in the Flutter project.
+ * ```swift
+ * import Cocoa
+ * import FlutterMacOS
+ *
+ * class MainFlutterWindow: NSWindow {
+ *   override func awakeFromNib() {
+ *     let flutterViewController = FlutterViewController.init()
+ *
+ *     // The background color of the window and `FlutterViewController`
+ *     // are retained separately.
+ *     //
+ *     // In this example, both the MainFlutterWindow and FlutterViewController's
+ *     // FlutterView's backgroundColor are set to clear to achieve a fully
+ *     // transparent effect.
+ *     //
+ *     // If the window's background color is not set, it will use the system
+ *     // default.
+ *     //
+ *     // If the `FlutterView`'s color is not set via `FlutterViewController.setBackgroundColor`
+ *     // it's default will be black.
+ *     self.backgroundColor = NSColor.clear
+ *     flutterViewController.backgroundColor = NSColor.clear
+ *
+ *     let windowFrame = self.frame
+ *     self.contentViewController = flutterViewController
+ *     self.setFrame(windowFrame, display: true)
+ *
+ *     RegisterGeneratedPlugins(registry: flutterViewController)
+ *
+ *     super.awakeFromNib()
+ *   }
+ * }
+ * ```
+ */
+@property(readwrite, nonatomic, nullable, copy) NSColor* backgroundColor;
+
+@end

+ 6 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Modules/module.modulemap

@@ -0,0 +1,6 @@
+framework module FlutterMacOS {
+  umbrella header "FlutterMacOS.h"
+
+  export *
+  module * { export * }
+}

+ 24 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Resources/Info.plist

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleExecutable</key>
+	<string>FlutterMacOS</string>
+	<key>CFBundleIdentifier</key>
+	<string>io.flutter.flutter-macos</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>FlutterMacOS</string>
+	<key>CFBundlePackageType</key>
+	<string>FMWK</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.0</string>
+	<key>CFBundleVersion</key>
+	<string>1.0</string>
+	<key>NSPrincipalClass</key>
+	<string></string>
+</dict>
+</plist>

BIN=BIN
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/Resources/icudtl.dat


+ 237 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/A/_CodeSignature/CodeResources

@@ -0,0 +1,237 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>files</key>
+	<dict>
+		<key>Resources/Info.plist</key>
+		<data>
+		jqU87p/MJtpIAzfj0wm59ZtbI3o=
+		</data>
+		<key>Resources/icudtl.dat</key>
+		<data>
+		iqxdhxDOeG6GKBcMhgGCL00SLGw=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Headers/FlutterAppDelegate.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			h6cZ8GAYv0IUaiv1+WnRSRn9SPxqTUR9r96JyGlWxT4=
+			</data>
+		</dict>
+		<key>Headers/FlutterBinaryMessenger.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			4quj8X+HDK/AVExMhTcqLpIRxe/OjnnNTiON5KEv3hI=
+			</data>
+		</dict>
+		<key>Headers/FlutterChannels.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			IAJwMIrTpwHKIiP2tBsYBUQe8B8qT6nLVEQzZLi+yFc=
+			</data>
+		</dict>
+		<key>Headers/FlutterCodecs.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			yML7JaB7PwUwr6A9dDtlf6CCeMLjzd9Vja1r4Hkngvs=
+			</data>
+		</dict>
+		<key>Headers/FlutterDartProject.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			g6lvjzM8q4k1DqmmQUIqCtH0bz/G/+VTKCCBSJkX3WM=
+			</data>
+		</dict>
+		<key>Headers/FlutterEngine.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			rvbv1qRtRFRlqoSz4YXY15tna6rOUJpbv0xk8rrLQa8=
+			</data>
+		</dict>
+		<key>Headers/FlutterMacOS.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			/NO18HNvLW3lAVq6zY5wdulebohGLvJF0K8pj0f4zoA=
+			</data>
+		</dict>
+		<key>Headers/FlutterMacros.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			IEPKCkPf/10aPZiU0dKCx8/ZoIfvkjycwKB4vH8mwG4=
+			</data>
+		</dict>
+		<key>Headers/FlutterPlatformViews.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			XzVAwtEmkEc3RhQbtAlhdf/01qrTot2o1cxhWJzYXbM=
+			</data>
+		</dict>
+		<key>Headers/FlutterPluginMacOS.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			En24VwKjAAbG1fJvINCeIPgiwqjksfCeOVT/eFrSAb0=
+			</data>
+		</dict>
+		<key>Headers/FlutterPluginRegistrarMacOS.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			nTvJBfgYtXEvruiIF2hO9zBpGco4t0CgIP25Eb3e39I=
+			</data>
+		</dict>
+		<key>Headers/FlutterTexture.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			VkMu2v4CZSBLhGWCJdxdAPzVFOgUvVyyxpdwmfAnWrY=
+			</data>
+		</dict>
+		<key>Headers/FlutterViewController.h</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			JSr8yUC/8T2ParyRn1ZrCA0uz3p+mTHA3MXBYOrII3M=
+			</data>
+		</dict>
+		<key>Modules/module.modulemap</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			wgsdtVh6ndm95Zc35nrBbFsqLz3fGHr6DYyHgR8URbE=
+			</data>
+		</dict>
+		<key>Resources/Info.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			aDYD1VCbX1UQIZikBOHcRjPXPmzUntLnd7K2cjnvfoQ=
+			</data>
+		</dict>
+		<key>Resources/icudtl.dat</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			d80FTlJMKYsTn7JmRt/E1O9oOh+k9tF0xR10Q3ZrKn4=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^Resources/</key>
+		<true/>
+		<key>^Resources/.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^Resources/.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Resources/Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^Resources/</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^Resources/.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^Resources/.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Resources/Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

+ 1 - 0
build/macos/Build/Products/Debug/FlutterMacOS.framework/Versions/Current

@@ -0,0 +1 @@
+A

+ 10 - 0
build/macos/Logs/Build/LogStoreManifest.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>logFormatVersion</key>
+	<integer>10</integer>
+	<key>logs</key>
+	<dict/>
+</dict>
+</plist>

+ 10 - 0
build/macos/Logs/Launch/LogStoreManifest.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>logFormatVersion</key>
+	<integer>10</integer>
+	<key>logs</key>
+	<dict/>
+</dict>
+</plist>

+ 10 - 0
build/macos/Logs/Localization/LogStoreManifest.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>logFormatVersion</key>
+	<integer>10</integer>
+	<key>logs</key>
+	<dict/>
+</dict>
+</plist>

+ 10 - 0
build/macos/Logs/Package/LogStoreManifest.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>logFormatVersion</key>
+	<integer>10</integer>
+	<key>logs</key>
+	<dict/>
+</dict>
+</plist>

+ 10 - 0
build/macos/Logs/Test/LogStoreManifest.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>logFormatVersion</key>
+	<integer>10</integer>
+	<key>logs</key>
+	<dict/>
+</dict>
+</plist>

+ 1 - 0
build/macos/ModuleCache.noindex/Session.modulevalidation

@@ -0,0 +1 @@
+1680329109.616451: Module build session file for module cache at Path(str: "/Users/honghengqiang/Flutter/learn/hengyi/build/macos/ModuleCache.noindex")

+ 10 - 0
build/macos/info.plist

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>LastAccessedDate</key>
+	<date>2023-04-01T06:05:02Z</date>
+	<key>WorkspacePath</key>
+	<string>/Users/honghengqiang/Flutter/learn/hengyi/macos/Runner.xcworkspace</string>
+</dict>
+</plist>

+ 1 - 1
build/web/.last_build_id

@@ -1 +1 @@
-96e9528bfa9c5f174111f065f2324b99
+9a31421c4ceb2dbf107077ff3ccf9c0c

+ 0 - 239
build/web/assets/NOTICES

@@ -792,7 +792,6 @@ engine
 gpu
 tonic
 txt
-url_launcher_web
 web_unicode
 
 Copyright 2013 The Flutter Authors. All rights reserved.
@@ -7147,14 +7146,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 --------------------------------------------------------------------------------
 flutter_lints
-plugin_platform_interface
-url_launcher
-url_launcher_android
-url_launcher_ios
-url_launcher_linux
-url_launcher_macos
-url_launcher_platform_interface
-url_launcher_windows
 
 Copyright 2013 The Flutter Authors. All rights reserved.
 
@@ -13808,211 +13799,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
---------------------------------------------------------------------------------
-platform_detect
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 2017 Workiva Inc.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
 --------------------------------------------------------------------------------
 rapidjson
 
@@ -14732,31 +14518,6 @@ Exhibit B - "Incompatible With Secondary Licenses" Notice
 
   This Source Code Form is "Incompatible With Secondary Licenses", as
   defined by the Mozilla Public License, v. 2.0.
---------------------------------------------------------------------------------
-simple_rich_text
-
-MIT License
-
-Copyright (c) 2021 Peter Alvin
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
 --------------------------------------------------------------------------------
 skia
 

+ 4 - 4
build/web/flutter_service_worker.js

@@ -4,9 +4,9 @@ const TEMP = 'flutter-temp-cache';
 const CACHE_NAME = 'flutter-app-cache';
 const RESOURCES = {
   "version.json": "31e94b74b10adf8c4726b9f6a1aaac70",
-"index.html": "689fac5c41ce7f63a0c342c2cc02973f",
-"/": "689fac5c41ce7f63a0c342c2cc02973f",
-"main.dart.js": "e227cf5c29728da5b4bf3fd863314d95",
+"index.html": "c3d991c609df562961232590b1485389",
+"/": "c3d991c609df562961232590b1485389",
+"main.dart.js": "3980607518dda9500aaeecde7468557c",
 "flutter.js": "1cfe996e845b3a8a33f57607e8b09ee4",
 "favicon.png": "6f9fbe8d82bb2e6e513a48fe5fa9a982",
 "icons/Icon-192.png": "bda638850092d23e46a7049a37ead710",
@@ -17,7 +17,7 @@ const RESOURCES = {
 "assets/images/logo.png": "2539ffccd590326c7e9cfa74c4e17ba4",
 "assets/images/wechat.jpg": "f63c28009aad2c27c4d38fb47c5449bd",
 "assets/AssetManifest.json": "ea4edec30ba869bef66fd0ca8b4741b8",
-"assets/NOTICES": "dc66c91686e99dbdab5fc49d89242dd6",
+"assets/NOTICES": "b1dafc9db5f517b454850a3fcec29e77",
 "assets/FontManifest.json": "dc3d03800ccca4601324923c0b1d6d57",
 "assets/packages/cupertino_icons/assets/CupertinoIcons.ttf": "6d342eb68f170c97609e9da345464e5e",
 "assets/fonts/MaterialIcons-Regular.otf": "e7069dfd19b331be16bed984668fe080",

+ 1 - 1
build/web/index.html

@@ -34,7 +34,7 @@
 
   <script>
     // The value below is injected by flutter build, do not touch.
-    var serviceWorkerVersion = '2641980498';
+    var serviceWorkerVersion = '1820617440';
   </script>
   <!-- This script adds the flutter initialization JS code -->
   <script src="flutter.js" defer></script>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 294 - 294
build/web/main.dart.js


+ 9 - 10
lib/detail/country_detail.dart

@@ -1,5 +1,4 @@
-// import 'dart:html';
-
+import 'dart:html';
 import 'package:flutter/material.dart';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
 import 'package:hengyi/utils/dio_util.dart';
@@ -22,10 +21,9 @@ class CountryDetailWidget extends StatelessWidget {
   var topMarin = 0.0;
   var bottomMarin = 0.0;
 
-
   @override
   Widget build(BuildContext context) {
-    if(Util.isWeb()){
+    if (Util.isWeb()) {
       countryTitleTextSize = 20.sp;
       countryPicWidth = 200.w;
       countryPicHeight = 100.w;
@@ -37,7 +35,7 @@ class CountryDetailWidget extends StatelessWidget {
       itemHeight = 50.h;
       topMarin = 30.r;
       bottomMarin = 10.r;
-    }else{
+    } else {
       countryTitleTextSize = 72.sp;
       countryPicWidth = 500.w;
       countryPicHeight = 250.w;
@@ -94,7 +92,8 @@ class CountryDetailWidget extends StatelessWidget {
                             alignment: Alignment.centerLeft,
                             color: Colors.grey[200],
                             height: height,
-                            margin: EdgeInsets.only(top: topMarin, bottom: bottomMarin),
+                            margin: EdgeInsets.only(
+                                top: topMarin, bottom: bottomMarin),
                             child: Text(
                               "签证须知:",
                               style: TextStyle(
@@ -116,7 +115,7 @@ class CountryDetailWidget extends StatelessWidget {
                           Expanded(
                             flex: 1,
                             child: ListView.builder(
-                              itemExtent: itemHeight,
+                                itemExtent: itemHeight,
                                 itemCount:
                                     snapshot.data?.countryVisitVisaUrl.length ??
                                         0,
@@ -167,8 +166,8 @@ class CountryDetailWidget extends StatelessWidget {
 
   ///调用浏览器的下载功能下载文件
   downLoadFile(url) {
-    // AnchorElement anchorElement = AnchorElement(href: url);
-    // anchorElement.download = "资料";
-    // anchorElement.click();
+    AnchorElement anchorElement = AnchorElement(href: url);
+    anchorElement.download = "资料";
+    anchorElement.click();
   }
 }

+ 1 - 5
lib/home/about_us.dart

@@ -1,10 +1,6 @@
-import 'dart:io';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
-import 'package:html/parser.dart';
 import 'package:flutter/material.dart';
 import 'package:hengyi/config/config.dart';
-import 'package:simple_rich_text/simple_rich_text.dart';
-
 import '../utils/common_util.dart';
 
 class AboutUSWidget extends StatelessWidget {
@@ -35,7 +31,7 @@ class AboutUSWidget extends StatelessWidget {
           ),
           Container(
               margin: EdgeInsets.only(left: margin, right: margin, top: 30.h),
-              child: SimpleRichText(
+              child: Text(
                 AppConfig.configContent,
                 style: TextStyle(fontSize: contentSize, color: Colors.black),
               )),

+ 0 - 4
linux/flutter/generated_plugin_registrant.cc

@@ -6,10 +6,6 @@
 
 #include "generated_plugin_registrant.h"
 
-#include <url_launcher_linux/url_launcher_plugin.h>
 
 void fl_register_plugins(FlPluginRegistry* registry) {
-  g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
-      fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
-  url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
 }

+ 0 - 1
linux/flutter/generated_plugins.cmake

@@ -3,7 +3,6 @@
 #
 
 list(APPEND FLUTTER_PLUGIN_LIST
-  url_launcher_linux
 )
 
 list(APPEND FLUTTER_FFI_PLUGIN_LIST

+ 0 - 2
macos/Flutter/GeneratedPluginRegistrant.swift

@@ -5,8 +5,6 @@
 import FlutterMacOS
 import Foundation
 
-import url_launcher_macos
 
 func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
-  UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
 }

+ 0 - 86
pubspec.lock

@@ -99,11 +99,6 @@ packages:
     description: flutter
     source: sdk
     version: "0.0.0"
-  flutter_web_plugins:
-    dependency: transitive
-    description: flutter
-    source: sdk
-    version: "0.0.0"
   html:
     dependency: "direct main"
     description:
@@ -176,22 +171,6 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.8.2"
-  plugin_platform_interface:
-    dependency: transitive
-    description:
-      name: plugin_platform_interface
-      sha256: "6a2128648c854906c53fa8e33986fc0247a1116122f9534dd20e3ab9e16a32bc"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "2.1.4"
-  simple_rich_text:
-    dependency: "direct main"
-    description:
-      name: simple_rich_text
-      sha256: ba678f8075336995604ccc1e8bf407dc6455e0d6dee17c2aabadba38a9dbd23f
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "2.0.49"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -253,70 +232,6 @@ packages:
       url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.1"
-  url_launcher:
-    dependency: transitive
-    description:
-      name: url_launcher
-      sha256: "75f2846facd11168d007529d6cd8fcb2b750186bea046af9711f10b907e1587e"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "6.1.10"
-  url_launcher_android:
-    dependency: transitive
-    description:
-      name: url_launcher_android
-      sha256: dd729390aa936bf1bdf5cd1bc7468ff340263f80a2c4f569416507667de8e3c8
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "6.0.26"
-  url_launcher_ios:
-    dependency: transitive
-    description:
-      name: url_launcher_ios
-      sha256: "3dedc66ca3c0bef9e6a93c0999aee102556a450afcc1b7bcfeace7a424927d92"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "6.1.3"
-  url_launcher_linux:
-    dependency: transitive
-    description:
-      name: url_launcher_linux
-      sha256: "206fb8334a700ef7754d6a9ed119e7349bc830448098f21a69bf1b4ed038cabc"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "3.0.4"
-  url_launcher_macos:
-    dependency: transitive
-    description:
-      name: url_launcher_macos
-      sha256: "0ef2b4f97942a16523e51256b799e9aa1843da6c60c55eefbfa9dbc2dcb8331a"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "3.0.4"
-  url_launcher_platform_interface:
-    dependency: transitive
-    description:
-      name: url_launcher_platform_interface
-      sha256: "6c9ca697a5ae218ce56cece69d46128169a58aa8653c1b01d26fcd4aad8c4370"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "2.1.2"
-  url_launcher_web:
-    dependency: transitive
-    description:
-      name: url_launcher_web
-      sha256: "81fe91b6c4f84f222d186a9d23c73157dc4c8e1c71489c4d08be1ad3b228f1aa"
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "2.0.16"
-  url_launcher_windows:
-    dependency: transitive
-    description:
-      name: url_launcher_windows
-      sha256: a83ba3607a507758669cfafb03f9de09bf6e6280c14d9b9cb18f013e406dcacd
-      url: "https://pub.flutter-io.cn"
-    source: hosted
-    version: "3.0.5"
   vector_math:
     dependency: transitive
     description:
@@ -327,4 +242,3 @@ packages:
     version: "2.1.4"
 sdks:
   dart: ">=2.19.1 <3.0.0"
-  flutter: ">=3.3.0"

+ 1 - 1
pubspec.yaml

@@ -39,7 +39,7 @@ dependencies:
   json_annotation: ^4.5.0
   html: ^0.15.2
   flutter_screenutil: ^5.7.0
-  simple_rich_text: ^2.0.49
+
 
 dev_dependencies:
   flutter_test:

+ 0 - 3
windows/flutter/generated_plugin_registrant.cc

@@ -6,9 +6,6 @@
 
 #include "generated_plugin_registrant.h"
 
-#include <url_launcher_windows/url_launcher_windows.h>
 
 void RegisterPlugins(flutter::PluginRegistry* registry) {
-  UrlLauncherWindowsRegisterWithRegistrar(
-      registry->GetRegistrarForPlugin("UrlLauncherWindows"));
 }

+ 0 - 1
windows/flutter/generated_plugins.cmake

@@ -3,7 +3,6 @@
 #
 
 list(APPEND FLUTTER_PLUGIN_LIST
-  url_launcher_windows
 )
 
 list(APPEND FLUTTER_FFI_PLUGIN_LIST

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio