From 2e10f03eb3f1c4db10410ccad0fa15fbfc0e0358 Mon Sep 17 00:00:00 2001 From: Brett Morgan Date: Thu, 17 Aug 2023 06:36:13 +1000 Subject: [PATCH] Flutter beta (#1782) Flutter beta prep ## Pre-launch Checklist - [x] I read the [Effective Dart: Style] _recently_, and have followed its advice. - [x] I signed the [CLA]. - [x] I updated/added relevant documentation (doc comments with `///`). - [ ] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-devrel channel on [Discord]. [Effective Dart: Style]: https://dart.dev/guides/language/effective-dart/style [CLA]: https://cla.developers.google.com/ [Discord]: https://github.com/flutter/flutter/wiki/Chat --- adaptive_app/codelab_rebuild.yaml | 8 +- adaptive_app/step_03/android/app/build.gradle | 19 +-- adaptive_app/step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_03/pubspec.yaml | 2 +- adaptive_app/step_03/web/index.html | 2 +- adaptive_app/step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + adaptive_app/step_04/android/app/build.gradle | 19 +-- adaptive_app/step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 79 ++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_04/pubspec.yaml | 10 +- adaptive_app/step_04/web/index.html | 2 +- adaptive_app/step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + adaptive_app/step_05/android/app/build.gradle | 19 +-- adaptive_app/step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 79 ++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_05/pubspec.yaml | 10 +- adaptive_app/step_05/web/index.html | 2 +- adaptive_app/step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + adaptive_app/step_06/android/app/build.gradle | 19 +-- adaptive_app/step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 79 ++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_06/pubspec.yaml | 10 +- adaptive_app/step_06/web/index.html | 2 +- adaptive_app/step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../step_06/yt_cors_proxy/pubspec.yaml | 4 +- adaptive_app/step_07/android/app/build.gradle | 19 +-- adaptive_app/step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 79 ++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- adaptive_app/step_07/pubspec.yaml | 14 +- adaptive_app/step_07/web/index.html | 2 +- adaptive_app/step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + .../step_07/yt_cors_proxy/pubspec.yaml | 4 +- .../codelab_rebuild.yaml | 130 +++++++-------- .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/pubspec.yaml | 2 +- .../step_03/web/index.html | 2 +- .../step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/pubspec.yaml | 2 +- .../step_04/web/index.html | 2 +- .../step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/pubspec.yaml | 2 +- .../step_05/web/index.html | 2 +- .../step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/pubspec.yaml | 2 +- .../step_06/web/index.html | 2 +- .../step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/pubspec.yaml | 2 +- .../step_07/web/index.html | 2 +- .../step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + .../step_08/android/app/build.gradle | 19 +-- .../step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/pubspec.yaml | 2 +- .../step_08/web/index.html | 2 +- .../step_08/windows/CMakeLists.txt | 2 +- .../step_08/windows/runner/flutter_window.cpp | 5 + boring_to_beautiful/codelab_rebuild.yaml | 156 +++++++++--------- .../final/android/app/build.gradle | 19 +-- .../final/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../final/ios/Runner/Info.plist | 2 - .../final/lib/src/shared/extensions.dart | 31 ++-- .../lib/src/shared/views/bottom_bar.dart | 29 ++-- .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/final/pubspec.yaml | 22 +-- boring_to_beautiful/final/web/index.html | 2 +- .../final/windows/CMakeLists.txt | 2 +- .../final/windows/runner/flutter_window.cpp | 5 + .../step_01/android/app/build.gradle | 19 +-- .../step_01/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_01/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_01/pubspec.yaml | 20 +-- boring_to_beautiful/step_01/web/index.html | 2 +- .../step_01/windows/CMakeLists.txt | 2 +- .../step_01/windows/runner/flutter_window.cpp | 5 + .../step_02/android/app/build.gradle | 19 +-- .../step_02/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_02/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_02/pubspec.yaml | 20 +-- boring_to_beautiful/step_02/web/index.html | 2 +- .../step_02/windows/CMakeLists.txt | 2 +- .../step_02/windows/runner/flutter_window.cpp | 5 + .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_03/pubspec.yaml | 22 +-- boring_to_beautiful/step_03/web/index.html | 2 +- .../step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_04/pubspec.yaml | 22 +-- boring_to_beautiful/step_04/web/index.html | 2 +- .../step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_05/pubspec.yaml | 22 +-- boring_to_beautiful/step_05/web/index.html | 2 +- .../step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_06/pubspec.yaml | 22 +-- boring_to_beautiful/step_06/web/index.html | 2 +- .../step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 117 ++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- boring_to_beautiful/step_07/pubspec.yaml | 22 +-- boring_to_beautiful/step_07/web/index.html | 2 +- .../step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_00/ios/Runner/Info.plist | 2 - cupertino_store/step_00/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_01/ios/Runner/Info.plist | 2 - cupertino_store/step_01/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_02/ios/Runner/Info.plist | 2 - cupertino_store/step_02/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_03/ios/Runner/Info.plist | 2 - cupertino_store/step_03/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_04/ios/Runner/Info.plist | 2 - cupertino_store/step_04/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_05/ios/Runner/Info.plist | 2 - cupertino_store/step_05/pubspec.yaml | 2 +- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- cupertino_store/step_06/ios/Runner/Info.plist | 2 - cupertino_store/step_06/pubspec.yaml | 2 +- .../codelab_rebuild.yaml | 2 +- .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/pubspec.yaml | 2 +- .../step_03/web/index.html | 2 +- .../step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/pubspec.yaml | 2 +- .../step_04/web/index.html | 2 +- .../step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/pubspec.yaml | 2 +- .../step_05/web/index.html | 2 +- .../step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../step_06_a/android/app/build.gradle | 19 +-- .../step_06_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06_a/pubspec.yaml | 2 +- .../step_06_a/web/index.html | 2 +- .../step_06_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_06_b/android/app/build.gradle | 19 +-- .../step_06_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06_b/pubspec.yaml | 2 +- .../step_06_b/web/index.html | 2 +- .../step_06_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_07_a/android/app/build.gradle | 19 +-- .../step_07_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_a/pubspec.yaml | 2 +- .../step_07_a/web/index.html | 2 +- .../step_07_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_07_b/android/app/build.gradle | 19 +-- .../step_07_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_b/pubspec.yaml | 2 +- .../step_07_b/web/index.html | 2 +- .../step_07_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_08/android/app/build.gradle | 19 +-- .../step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/pubspec.yaml | 2 +- .../step_08/web/index.html | 2 +- .../step_08/windows/CMakeLists.txt | 2 +- .../step_08/windows/runner/flutter_window.cpp | 5 + .../step_09/android/app/build.gradle | 19 +-- .../step_09/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_09/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_09/pubspec.yaml | 2 +- .../step_09/web/index.html | 2 +- .../step_09/windows/CMakeLists.txt | 2 +- .../step_09/windows/runner/flutter_window.cpp | 5 + .../step_10/android/app/build.gradle | 19 +-- .../step_10/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_10/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_10/pubspec.yaml | 2 +- .../step_10/web/index.html | 2 +- .../step_10/windows/CMakeLists.txt | 2 +- .../step_10/windows/runner/flutter_window.cpp | 5 + .../step_11_a/android/app/build.gradle | 19 +-- .../step_11_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_11_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_11_a/pubspec.yaml | 2 +- .../step_11_a/web/index.html | 2 +- .../step_11_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_11_b/android/app/build.gradle | 19 +-- .../step_11_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_11_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_11_b/pubspec.yaml | 2 +- .../step_11_b/web/index.html | 2 +- .../step_11_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_12/android/app/build.gradle | 19 +-- .../step_12/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_12/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_12/pubspec.yaml | 2 +- .../step_12/web/index.html | 2 +- .../step_12/windows/CMakeLists.txt | 2 +- .../step_12/windows/runner/flutter_window.cpp | 5 + dartpad_codelabs/pubspec.yaml | 2 +- deeplink_cookbook/pubspec.yaml | 2 +- ffigen_codelab/step_03/android/build.gradle | 8 +- .../step_03/example/android/app/build.gradle | 19 +-- .../step_03/example/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/example/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- ffigen_codelab/step_03/example/pubspec.yaml | 2 +- .../step_03/example/windows/CMakeLists.txt | 2 +- .../example/windows/runner/flutter_window.cpp | 5 + ffigen_codelab/step_03/pubspec.yaml | 4 +- ffigen_codelab/step_05/android/build.gradle | 8 +- .../step_05/example/android/app/build.gradle | 19 +-- .../step_05/example/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/example/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- ffigen_codelab/step_05/example/pubspec.yaml | 2 +- .../step_05/example/windows/CMakeLists.txt | 2 +- .../example/windows/runner/flutter_window.cpp | 5 + .../lib/duktape_bindings_generated.dart | 3 + ffigen_codelab/step_05/pubspec.yaml | 6 +- ffigen_codelab/step_06/android/build.gradle | 8 +- .../step_06/example/android/app/build.gradle | 19 +-- .../step_06/example/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/example/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- ffigen_codelab/step_06/example/pubspec.yaml | 2 +- .../step_06/example/windows/CMakeLists.txt | 2 +- .../example/windows/runner/flutter_window.cpp | 5 + .../lib/duktape_bindings_generated.dart | 3 + ffigen_codelab/step_06/pubspec.yaml | 6 +- ffigen_codelab/step_07/android/build.gradle | 8 +- .../step_07/example/android/app/build.gradle | 19 +-- .../step_07/example/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/example/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 104 ++++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- ffigen_codelab/step_07/example/pubspec.yaml | 2 +- .../step_07/example/windows/CMakeLists.txt | 2 +- .../example/windows/runner/flutter_window.cpp | 5 + .../lib/duktape_bindings_generated.dart | 3 + ffigen_codelab/step_07/pubspec.yaml | 6 +- .../codelab_rebuild.yaml | 2 +- .../complete/android/app/build.gradle | 19 +-- .../complete/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 143 ++++++++++++++-- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../complete/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../complete/pubspec.yaml | 8 +- .../complete/web/index.html | 2 +- .../complete/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../start/android/app/build.gradle | 19 +-- .../start/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 143 ++++++++++++++-- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../start/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../start/pubspec.yaml | 8 +- .../start/web/index.html | 2 +- .../start/windows/CMakeLists.txt | 2 +- .../start/windows/runner/flutter_window.cpp | 5 + firebase-emulator-suite/codelab_rebuild.yaml | 2 +- .../complete/android/app/build.gradle | 19 +-- .../complete/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../complete/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- firebase-emulator-suite/complete/pubspec.yaml | 8 +- .../complete/web/index.html | 2 +- .../start/android/app/build.gradle | 19 +-- .../start/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../start/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- firebase-emulator-suite/start/pubspec.yaml | 2 +- firebase-emulator-suite/start/web/index.html | 2 +- .../codelab_rebuild.yaml | 24 +-- .../step_02/android/app/build.gradle | 19 +-- .../step_02/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_02/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_02/pubspec.yaml | 2 +- .../step_02/web/index.html | 2 +- .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/pubspec.yaml | 10 +- .../step_04/web/index.html | 2 +- .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/pubspec.yaml | 10 +- .../step_05/web/index.html | 2 +- .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/pubspec.yaml | 10 +- .../step_06/web/index.html | 2 +- .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/pubspec.yaml | 10 +- .../step_07/web/index.html | 2 +- .../step_09/android/app/build.gradle | 19 +-- .../step_09/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_09/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 90 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_09/pubspec.yaml | 10 +- .../step_09/web/index.html | 2 +- .../finished_game/android/app/build.gradle | 19 +-- .../finished_game/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../finished_game/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../finished_game/pubspec.yaml | 2 +- .../finished_game/web/index.html | 2 +- .../finished_game/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_02/android/app/build.gradle | 19 +-- .../step_02/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_02/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_02/pubspec.yaml | 4 +- .../step_02/web/index.html | 2 +- .../step_02/windows/CMakeLists.txt | 2 +- .../step_02/windows/runner/flutter_window.cpp | 5 + .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_03/pubspec.yaml | 4 +- .../step_03/web/index.html | 2 +- .../step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04/pubspec.yaml | 4 +- .../step_04/web/index.html | 2 +- .../step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05/pubspec.yaml | 4 +- .../step_05/web/index.html | 2 +- .../step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_06/pubspec.yaml | 4 +- .../step_06/web/index.html | 2 +- .../step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07/pubspec.yaml | 4 +- .../step_07/web/index.html | 2 +- .../step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + .../step_08/android/app/build.gradle | 19 +-- .../step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 147 +++++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 94 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_08/pubspec.yaml | 4 +- .../step_08/web/index.html | 2 +- .../step_08/windows/CMakeLists.txt | 2 +- .../step_08/windows/runner/flutter_window.cpp | 5 + flutter_ci_script_beta.sh | 6 +- github-client/codelab_rebuild.yaml | 41 +++-- .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- github-client/step_03/pubspec.yaml | 2 +- github-client/step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../macos/Runner.xcodeproj/project.pbxproj | 96 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- github-client/step_04/pubspec.yaml | 8 +- github-client/step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../macos/Runner.xcodeproj/project.pbxproj | 96 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- github-client/step_05/pubspec.yaml | 8 +- github-client/step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../macos/Runner.xcodeproj/project.pbxproj | 96 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- github-client/step_06/pubspec.yaml | 8 +- github-client/step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../macos/Runner.xcodeproj/project.pbxproj | 96 +++++------ .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- github-client/step_07/pubspec.yaml | 8 +- github-client/step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + github-client/window_to_front/pubspec.yaml | 18 +- .../window_to_front/windows/CMakeLists.txt | 4 + google-maps-in-flutter/codelab_rebuild.yaml | 10 +- .../step_3/android/app/build.gradle | 19 +-- .../step_3/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 135 +++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_3/ios/Runner/Info.plist | 2 - google-maps-in-flutter/step_3/pubspec.yaml | 5 +- google-maps-in-flutter/step_3/web/index.html | 2 +- .../step_4/android/app/build.gradle | 19 +-- .../step_4/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 135 +++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_4/ios/Runner/Info.plist | 2 - google-maps-in-flutter/step_4/pubspec.yaml | 5 +- google-maps-in-flutter/step_4/web/index.html | 2 +- .../step_5/android/app/build.gradle | 19 +-- .../step_5/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 135 +++++++-------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_5/ios/Runner/Info.plist | 2 - google-maps-in-flutter/step_5/pubspec.yaml | 11 +- google-maps-in-flutter/step_5/web/index.html | 2 +- haiku_generator/finished/pubspec.yaml | 2 +- haiku_generator/step0/pubspec.yaml | 2 +- haiku_generator/step1/pubspec.yaml | 2 +- haiku_generator/step2/pubspec.yaml | 2 +- haiku_generator/step3/pubspec.yaml | 2 +- homescreen_codelab/step_03/pubspec.yaml | 2 +- homescreen_codelab/step_04/pubspec.yaml | 2 +- homescreen_codelab/step_05/pubspec.yaml | 2 +- homescreen_codelab/step_06/pubspec.yaml | 2 +- in_app_purchases/complete/app/pubspec.yaml | 2 +- .../complete/dart-backend/pubspec.yaml | 2 +- in_app_purchases/step_00/app/pubspec.yaml | 2 +- .../step_00/dart-backend/pubspec.yaml | 2 +- in_app_purchases/step_07/app/pubspec.yaml | 2 +- .../step_07/dart-backend/pubspec.yaml | 2 +- in_app_purchases/step_08/app/pubspec.yaml | 2 +- .../step_08/dart-backend/pubspec.yaml | 2 +- in_app_purchases/step_09/app/pubspec.yaml | 2 +- .../step_09/dart-backend/pubspec.yaml | 2 +- in_app_purchases/step_10/app/pubspec.yaml | 2 +- .../step_10/dart-backend/pubspec.yaml | 2 +- namer/codelab_rebuild.yaml | 2 +- namer/step_03/android/app/build.gradle | 19 +-- namer/step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_03/pubspec.yaml | 2 +- namer/step_03/web/index.html | 2 +- namer/step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04_a_widget/android/app/build.gradle | 19 +-- .../step_04_a_widget/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_04_a_widget/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_04_a_widget/pubspec.yaml | 2 +- namer/step_04_a_widget/web/index.html | 2 +- namer/step_04_a_widget/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_04_b_behavior/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_04_b_behavior/pubspec.yaml | 2 +- namer/step_04_b_behavior/web/index.html | 2 +- .../step_04_b_behavior/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + namer/step_05_a_pair/android/app/build.gradle | 19 +-- namer/step_05_a_pair/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_a_pair/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_a_pair/pubspec.yaml | 2 +- namer/step_05_a_pair/web/index.html | 2 +- namer/step_05_a_pair/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../step_05_b_extract/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_b_extract/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_b_extract/pubspec.yaml | 2 +- namer/step_05_b_extract/web/index.html | 2 +- .../step_05_b_extract/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_c_card_padding/pubspec.yaml | 2 +- namer/step_05_c_card_padding/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_05_d_theme/android/app/build.gradle | 19 +-- namer/step_05_d_theme/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_d_theme/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_d_theme/pubspec.yaml | 2 +- namer/step_05_d_theme/web/index.html | 2 +- namer/step_05_d_theme/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_e_text_style/pubspec.yaml | 2 +- namer/step_05_e_text_style/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_f_accessibility/pubspec.yaml | 2 +- namer/step_05_f_accessibility/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_g_center_vertical/pubspec.yaml | 2 +- .../step_05_g_center_vertical/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_05_h_center_horizontal/pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_05_i_optional_changes/pubspec.yaml | 2 +- .../step_05_i_optional_changes/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_06_a_business_logic/pubspec.yaml | 2 +- namer/step_06_a_business_logic/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../step_06_b_add_row/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_06_b_add_row/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_06_b_add_row/pubspec.yaml | 2 +- namer/step_06_b_add_row/web/index.html | 2 +- .../step_06_b_add_row/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_06_c_add_like_button/pubspec.yaml | 2 +- .../step_06_c_add_like_button/web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_a_split_my_home_page/pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_c_add_selectedindex/pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_d_use_selectedindex/pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../android/app/build.gradle | 19 +-- .../android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- .../step_07_e_add_layout_builder/pubspec.yaml | 2 +- .../web/index.html | 2 +- .../windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + namer/step_08/android/app/build.gradle | 19 +-- namer/step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_08/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- namer/step_08/pubspec.yaml | 2 +- namer/step_08/web/index.html | 2 +- namer/step_08/windows/CMakeLists.txt | 2 +- .../step_08/windows/runner/flutter_window.cpp | 5 + next-gen-ui/codelab_rebuild.yaml | 8 +- next-gen-ui/step_01/android/app/build.gradle | 19 +-- next-gen-ui/step_01/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_01/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_01/pubspec.yaml | 8 +- next-gen-ui/step_01/web/index.html | 2 +- next-gen-ui/step_01/windows/CMakeLists.txt | 2 +- .../step_01/windows/runner/flutter_window.cpp | 5 + .../step_02_a/android/app/build.gradle | 19 +-- next-gen-ui/step_02_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_a/pubspec.yaml | 8 +- next-gen-ui/step_02_a/web/index.html | 2 +- next-gen-ui/step_02_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_02_b/android/app/build.gradle | 19 +-- next-gen-ui/step_02_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_b/pubspec.yaml | 8 +- next-gen-ui/step_02_b/web/index.html | 2 +- next-gen-ui/step_02_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_02_c/android/app/build.gradle | 19 +-- next-gen-ui/step_02_c/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_c/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_02_c/pubspec.yaml | 8 +- next-gen-ui/step_02_c/web/index.html | 2 +- next-gen-ui/step_02_c/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_03_a/android/app/build.gradle | 19 +-- next-gen-ui/step_03_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_a/pubspec.yaml | 8 +- next-gen-ui/step_03_a/web/index.html | 2 +- next-gen-ui/step_03_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_03_b/android/app/build.gradle | 19 +-- next-gen-ui/step_03_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_b/pubspec.yaml | 8 +- next-gen-ui/step_03_b/web/index.html | 2 +- next-gen-ui/step_03_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_03_c/android/app/build.gradle | 19 +-- next-gen-ui/step_03_c/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_c/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_03_c/pubspec.yaml | 8 +- next-gen-ui/step_03_c/web/index.html | 2 +- next-gen-ui/step_03_c/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_04_a/android/app/build.gradle | 19 +-- next-gen-ui/step_04_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_a/pubspec.yaml | 8 +- next-gen-ui/step_04_a/web/index.html | 2 +- next-gen-ui/step_04_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_04_b/android/app/build.gradle | 19 +-- next-gen-ui/step_04_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_b/pubspec.yaml | 8 +- next-gen-ui/step_04_b/web/index.html | 2 +- next-gen-ui/step_04_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_04_c/android/app/build.gradle | 19 +-- next-gen-ui/step_04_c/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_c/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_c/pubspec.yaml | 8 +- next-gen-ui/step_04_c/web/index.html | 2 +- next-gen-ui/step_04_c/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_04_d/android/app/build.gradle | 19 +-- next-gen-ui/step_04_d/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_d/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_d/pubspec.yaml | 8 +- next-gen-ui/step_04_d/web/index.html | 2 +- next-gen-ui/step_04_d/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_04_e/android/app/build.gradle | 19 +-- next-gen-ui/step_04_e/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_e/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_04_e/pubspec.yaml | 8 +- next-gen-ui/step_04_e/web/index.html | 2 +- next-gen-ui/step_04_e/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_05_a/android/app/build.gradle | 19 +-- next-gen-ui/step_05_a/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_05_a/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_05_a/pubspec.yaml | 8 +- next-gen-ui/step_05_a/web/index.html | 2 +- next-gen-ui/step_05_a/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + .../step_05_b/android/app/build.gradle | 19 +-- next-gen-ui/step_05_b/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_05_b/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_05_b/pubspec.yaml | 8 +- next-gen-ui/step_05_b/web/index.html | 2 +- next-gen-ui/step_05_b/windows/CMakeLists.txt | 2 +- .../windows/runner/flutter_window.cpp | 5 + next-gen-ui/step_06/android/app/build.gradle | 19 +-- next-gen-ui/step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- next-gen-ui/step_06/pubspec.yaml | 8 +- next-gen-ui/step_06/web/index.html | 2 +- next-gen-ui/step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + star_counter/step_04/pubspec.yaml | 6 +- star_counter/step_04/web/index.html | 2 +- star_counter/step_05/pubspec.yaml | 6 +- star_counter/step_05/web/index.html | 2 +- star_counter/step_06/pubspec.yaml | 6 +- star_counter/step_06/web/index.html | 2 +- star_counter/step_07/pubspec.yaml | 6 +- star_counter/step_07/web/index.html | 2 +- star_counter/step_08/pubspec.yaml | 6 +- star_counter/step_08/web/index.html | 2 +- star_counter/step_09/pubspec.yaml | 6 +- star_counter/step_09/web/index.html | 2 +- star_counter/step_10/pubspec.yaml | 8 +- star_counter/step_10/web/index.html | 2 +- .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_03/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_03/pubspec.yaml | 4 +- testing_codelab/step_03/web/index.html | 2 +- .../step_03/windows/CMakeLists.txt | 2 +- .../step_03/windows/runner/flutter_window.cpp | 5 + .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_04/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_04/pubspec.yaml | 4 +- testing_codelab/step_04/web/index.html | 2 +- .../step_04/windows/CMakeLists.txt | 2 +- .../step_04/windows/runner/flutter_window.cpp | 5 + .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_05/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_05/pubspec.yaml | 4 +- testing_codelab/step_05/web/index.html | 2 +- .../step_05/windows/CMakeLists.txt | 2 +- .../step_05/windows/runner/flutter_window.cpp | 5 + .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_06/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 2 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_06/pubspec.yaml | 4 +- testing_codelab/step_06/web/index.html | 2 +- .../step_06/windows/CMakeLists.txt | 2 +- .../step_06/windows/runner/flutter_window.cpp | 5 + .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_07/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 88 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_07/pubspec.yaml | 4 +- testing_codelab/step_07/web/index.html | 2 +- .../step_07/windows/CMakeLists.txt | 2 +- .../step_07/windows/runner/flutter_window.cpp | 5 + .../step_08/android/app/build.gradle | 19 +-- .../step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 3 +- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_08/ios/Runner/Info.plist | 2 - .../macos/Runner.xcodeproj/project.pbxproj | 88 +++++----- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- testing_codelab/step_08/pubspec.yaml | 4 +- testing_codelab/step_08/web/index.html | 2 +- .../step_08/windows/CMakeLists.txt | 2 +- .../step_08/windows/runner/flutter_window.cpp | 5 + tooling/claat_export_images/pubspec.yaml | 2 +- tooling/codelab_rebuild/pubspec.yaml | 2 +- webview_flutter/codelab_rebuild.yaml | 2 +- .../step_03/android/app/build.gradle | 19 +-- .../step_03/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_03/ios/Runner/Info.plist | 2 - webview_flutter/step_03/pubspec.yaml | 2 +- .../step_04/android/app/build.gradle | 19 +-- .../step_04/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_04/ios/Runner/Info.plist | 2 - webview_flutter/step_04/pubspec.yaml | 2 +- .../step_05/android/app/build.gradle | 19 +-- .../step_05/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_05/ios/Runner/Info.plist | 2 - webview_flutter/step_05/pubspec.yaml | 2 +- .../step_06/android/app/build.gradle | 19 +-- .../step_06/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_06/ios/Runner/Info.plist | 2 - webview_flutter/step_06/pubspec.yaml | 2 +- .../step_07/android/app/build.gradle | 19 +-- .../step_07/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_07/ios/Runner/Info.plist | 2 - webview_flutter/step_07/pubspec.yaml | 2 +- .../step_08/android/app/build.gradle | 19 +-- .../step_08/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_08/ios/Runner/Info.plist | 2 - webview_flutter/step_08/pubspec.yaml | 2 +- .../step_09/android/app/build.gradle | 19 +-- .../step_09/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_09/ios/Runner/Info.plist | 2 - webview_flutter/step_09/pubspec.yaml | 2 +- .../step_10/android/app/build.gradle | 19 +-- .../step_10/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_10/ios/Runner/Info.plist | 2 - webview_flutter/step_10/pubspec.yaml | 2 +- .../step_11/android/app/build.gradle | 19 +-- .../step_11/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_11/ios/Runner/Info.plist | 2 - webview_flutter/step_11/pubspec.yaml | 2 +- .../step_12/android/app/build.gradle | 19 +-- .../step_12/android/settings.gradle | 25 ++- .../ios/Runner.xcodeproj/project.pbxproj | 129 ++++++++------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- webview_flutter/step_12/ios/Runner/Info.plist | 2 - webview_flutter/step_12/pubspec.yaml | 2 +- 1239 files changed, 9117 insertions(+), 8073 deletions(-) diff --git a/adaptive_app/codelab_rebuild.yaml b/adaptive_app/codelab_rebuild.yaml index 3d2bc4def0..6cc285a6a2 100644 --- a/adaptive_app/codelab_rebuild.yaml +++ b/adaptive_app/codelab_rebuild.yaml @@ -243,7 +243,7 @@ steps: patch-u: | --- b/adaptive_app/step_04/ios/Runner/Info.plist +++ a/adaptive_app/step_04/ios/Runner/Info.plist - @@ -47,5 +47,13 @@ + @@ -45,5 +45,13 @@ UIApplicationSupportsIndirectInputEvents @@ -292,7 +292,7 @@ steps: GoRoute( path: 'playlist/:id', builder: (context, state) { - final title = state.queryParameters['title']!; + final title = state.uri.queryParameters['title']!; final id = state.pathParameters['id']!; return PlaylistDetails( playlistId: id, @@ -764,7 +764,7 @@ steps: GoRoute( @@ -32,9 +32,12 @@ final _router = GoRouter( builder: (context, state) { - final title = state.queryParameters['title']!; + final title = state.uri.queryParameters['title']!; final id = state.pathParameters['id']!; - return PlaylistDetails( - playlistId: id, @@ -1448,7 +1448,7 @@ steps: patch-u: | --- b/adaptive_app/step_07/ios/Runner/Info.plist +++ a/adaptive_app/step_07/ios/Runner/Info.plist - @@ -55,5 +55,18 @@ + @@ -53,5 +53,18 @@ tel mailto diff --git a/adaptive_app/step_03/android/app/build.gradle b/adaptive_app/step_03/android/app/build.gradle index a3a2ab1b2b..70a99b5ffc 100644 --- a/adaptive_app/step_03/android/app/build.gradle +++ b/adaptive_app/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.adaptive_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/adaptive_app/step_03/android/settings.gradle b/adaptive_app/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/adaptive_app/step_03/android/settings.gradle +++ b/adaptive_app/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/adaptive_app/step_03/ios/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_03/ios/Runner.xcodeproj/project.pbxproj index 62bbe6a42d..9e555251ed 100644 --- a/adaptive_app/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/adaptive_app/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/adaptive_app/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/adaptive_app/step_03/macos/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_03/macos/Runner.xcodeproj/project.pbxproj index 0cc8b42b1b..3d9d1d3c70 100644 --- a/adaptive_app/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/adaptive_app/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 51bff775bf..a5b8f94e3e 100644 --- a/adaptive_app/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/adaptive_app/step_03/web/index.html b/adaptive_app/step_03/web/index.html index a772241387..2d95c49b07 100644 --- a/adaptive_app/step_03/web/index.html +++ b/adaptive_app/step_03/web/index.html @@ -34,7 +34,7 @@ diff --git a/adaptive_app/step_03/windows/CMakeLists.txt b/adaptive_app/step_03/windows/CMakeLists.txt index 5e53577b91..ba6fc70539 100644 --- a/adaptive_app/step_03/windows/CMakeLists.txt +++ b/adaptive_app/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "adaptive_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/adaptive_app/step_03/windows/runner/flutter_window.cpp b/adaptive_app/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/adaptive_app/step_03/windows/runner/flutter_window.cpp +++ b/adaptive_app/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/adaptive_app/step_04/android/app/build.gradle b/adaptive_app/step_04/android/app/build.gradle index a3a2ab1b2b..70a99b5ffc 100644 --- a/adaptive_app/step_04/android/app/build.gradle +++ b/adaptive_app/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.adaptive_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/adaptive_app/step_04/android/settings.gradle b/adaptive_app/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/adaptive_app/step_04/android/settings.gradle +++ b/adaptive_app/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/adaptive_app/step_04/ios/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_04/ios/Runner.xcodeproj/project.pbxproj index 7c34fd4639..2c464646b3 100644 --- a/adaptive_app/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */; }; + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,16 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,20 +63,16 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 95774017B99E8799DC901692 /* Frameworks */ = { + 8ED55EDF460AA7CB90730D54 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */, + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */, + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,27 +95,27 @@ path = RunnerTests; sourceTree = ""; }; - 85FC71BE423E3A60F2017A4C /* Frameworks */ = { + 3DABFB03B766658DBDCCB9EF /* Pods */ = { isa = PBXGroup; children = ( - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */, - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */, + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */, + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */, + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */, + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */, + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */, + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - 965B58B323CFAC4BDAB0C5CD /* Pods */ = { + 61CD761DE399804D8DCA07B1 /* Frameworks */ = { isa = PBXGroup; children = ( - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */, - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */, - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */, - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */, - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */, - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */, + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */, + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 965B58B323CFAC4BDAB0C5CD /* Pods */, - 85FC71BE423E3A60F2017A4C /* Frameworks */, + 3DABFB03B766658DBDCCB9EF /* Pods */, + 61CD761DE399804D8DCA07B1 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */, + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 95774017B99E8799DC901692 /* Frameworks */, + 8ED55EDF460AA7CB90730D54 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */, + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */, + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -300,7 +301,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */ = { + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +318,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */ = { + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,7 +340,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */ = { + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/adaptive_app/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/adaptive_app/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/adaptive_app/step_04/macos/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_04/macos/Runner.xcodeproj/project.pbxproj index 1fadc600fc..b491523d97 100644 --- a/adaptive_app/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */; }; - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */; }; + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D26D55168503120B887EEB1 /* Pods_Runner.framework */; }; + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */, + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */, + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - F432A7686D8CD7A96D90BB84 /* Pods */, + 51863BFF08D198BF7F5ED51B /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + 51863BFF08D198BF7F5ED51B /* Pods */ = { isa = PBXGroup; children = ( - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */, - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */, + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */, + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */, + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */, + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */, + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */, + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - F432A7686D8CD7A96D90BB84 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */, - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */, - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */, - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */, - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */, - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */, + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */, + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */, + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */, + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */, + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,23 +322,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -377,7 +360,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */ = { + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +382,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */ = { + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -421,6 +404,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/adaptive_app/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 51bff775bf..a5b8f94e3e 100644 --- a/adaptive_app/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,11 +35,11 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - googleapis: ^11.2.0 - http: ^1.0.0 + googleapis: ^11.3.0 + http: ^1.1.0 provider: ^6.0.5 - url_launcher: ^6.1.11 - flex_color_scheme: ^7.1.2 + url_launcher: ^6.1.12 + flex_color_scheme: ^7.2.0 go_router: ^10.0.0 dev_dependencies: diff --git a/adaptive_app/step_04/web/index.html b/adaptive_app/step_04/web/index.html index a772241387..2d95c49b07 100644 --- a/adaptive_app/step_04/web/index.html +++ b/adaptive_app/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/adaptive_app/step_04/windows/CMakeLists.txt b/adaptive_app/step_04/windows/CMakeLists.txt index 5e53577b91..ba6fc70539 100644 --- a/adaptive_app/step_04/windows/CMakeLists.txt +++ b/adaptive_app/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "adaptive_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/adaptive_app/step_04/windows/runner/flutter_window.cpp b/adaptive_app/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/adaptive_app/step_04/windows/runner/flutter_window.cpp +++ b/adaptive_app/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/adaptive_app/step_05/android/app/build.gradle b/adaptive_app/step_05/android/app/build.gradle index a3a2ab1b2b..70a99b5ffc 100644 --- a/adaptive_app/step_05/android/app/build.gradle +++ b/adaptive_app/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.adaptive_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/adaptive_app/step_05/android/settings.gradle b/adaptive_app/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/adaptive_app/step_05/android/settings.gradle +++ b/adaptive_app/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/adaptive_app/step_05/ios/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_05/ios/Runner.xcodeproj/project.pbxproj index 7c34fd4639..2c464646b3 100644 --- a/adaptive_app/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */; }; + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,16 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,20 +63,16 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 95774017B99E8799DC901692 /* Frameworks */ = { + 8ED55EDF460AA7CB90730D54 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */, + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */, + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,27 +95,27 @@ path = RunnerTests; sourceTree = ""; }; - 85FC71BE423E3A60F2017A4C /* Frameworks */ = { + 3DABFB03B766658DBDCCB9EF /* Pods */ = { isa = PBXGroup; children = ( - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */, - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */, + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */, + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */, + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */, + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */, + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */, + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - 965B58B323CFAC4BDAB0C5CD /* Pods */ = { + 61CD761DE399804D8DCA07B1 /* Frameworks */ = { isa = PBXGroup; children = ( - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */, - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */, - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */, - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */, - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */, - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */, + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */, + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 965B58B323CFAC4BDAB0C5CD /* Pods */, - 85FC71BE423E3A60F2017A4C /* Frameworks */, + 3DABFB03B766658DBDCCB9EF /* Pods */, + 61CD761DE399804D8DCA07B1 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */, + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 95774017B99E8799DC901692 /* Frameworks */, + 8ED55EDF460AA7CB90730D54 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */, + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */, + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -300,7 +301,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */ = { + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +318,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */ = { + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,7 +340,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */ = { + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/adaptive_app/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/adaptive_app/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/adaptive_app/step_05/macos/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_05/macos/Runner.xcodeproj/project.pbxproj index 1fadc600fc..b491523d97 100644 --- a/adaptive_app/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */; }; - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */; }; + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D26D55168503120B887EEB1 /* Pods_Runner.framework */; }; + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */, + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */, + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - F432A7686D8CD7A96D90BB84 /* Pods */, + 51863BFF08D198BF7F5ED51B /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + 51863BFF08D198BF7F5ED51B /* Pods */ = { isa = PBXGroup; children = ( - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */, - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */, + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */, + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */, + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */, + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */, + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */, + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - F432A7686D8CD7A96D90BB84 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */, - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */, - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */, - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */, - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */, - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */, + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */, + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */, + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */, + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */, + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,23 +322,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -377,7 +360,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */ = { + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +382,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */ = { + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -421,6 +404,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/adaptive_app/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 51bff775bf..a5b8f94e3e 100644 --- a/adaptive_app/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,11 +35,11 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - googleapis: ^11.2.0 - http: ^1.0.0 + googleapis: ^11.3.0 + http: ^1.1.0 provider: ^6.0.5 - url_launcher: ^6.1.11 - flex_color_scheme: ^7.1.2 + url_launcher: ^6.1.12 + flex_color_scheme: ^7.2.0 go_router: ^10.0.0 split_view: ^3.2.1 diff --git a/adaptive_app/step_05/web/index.html b/adaptive_app/step_05/web/index.html index a772241387..2d95c49b07 100644 --- a/adaptive_app/step_05/web/index.html +++ b/adaptive_app/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/adaptive_app/step_05/windows/CMakeLists.txt b/adaptive_app/step_05/windows/CMakeLists.txt index 5e53577b91..ba6fc70539 100644 --- a/adaptive_app/step_05/windows/CMakeLists.txt +++ b/adaptive_app/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "adaptive_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/adaptive_app/step_05/windows/runner/flutter_window.cpp b/adaptive_app/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/adaptive_app/step_05/windows/runner/flutter_window.cpp +++ b/adaptive_app/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/adaptive_app/step_06/android/app/build.gradle b/adaptive_app/step_06/android/app/build.gradle index a3a2ab1b2b..70a99b5ffc 100644 --- a/adaptive_app/step_06/android/app/build.gradle +++ b/adaptive_app/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.adaptive_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/adaptive_app/step_06/android/settings.gradle b/adaptive_app/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/adaptive_app/step_06/android/settings.gradle +++ b/adaptive_app/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/adaptive_app/step_06/ios/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_06/ios/Runner.xcodeproj/project.pbxproj index 7c34fd4639..2c464646b3 100644 --- a/adaptive_app/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */; }; + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,16 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,20 +63,16 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 95774017B99E8799DC901692 /* Frameworks */ = { + 8ED55EDF460AA7CB90730D54 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */, + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */, + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,27 +95,27 @@ path = RunnerTests; sourceTree = ""; }; - 85FC71BE423E3A60F2017A4C /* Frameworks */ = { + 3DABFB03B766658DBDCCB9EF /* Pods */ = { isa = PBXGroup; children = ( - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */, - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */, + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */, + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */, + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */, + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */, + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */, + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - 965B58B323CFAC4BDAB0C5CD /* Pods */ = { + 61CD761DE399804D8DCA07B1 /* Frameworks */ = { isa = PBXGroup; children = ( - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */, - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */, - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */, - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */, - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */, - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */, + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */, + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 965B58B323CFAC4BDAB0C5CD /* Pods */, - 85FC71BE423E3A60F2017A4C /* Frameworks */, + 3DABFB03B766658DBDCCB9EF /* Pods */, + 61CD761DE399804D8DCA07B1 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */, + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 95774017B99E8799DC901692 /* Frameworks */, + 8ED55EDF460AA7CB90730D54 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */, + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */, + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -300,7 +301,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */ = { + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +318,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */ = { + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,7 +340,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */ = { + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/adaptive_app/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/adaptive_app/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/adaptive_app/step_06/macos/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_06/macos/Runner.xcodeproj/project.pbxproj index 1fadc600fc..b491523d97 100644 --- a/adaptive_app/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */; }; - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */; }; + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D26D55168503120B887EEB1 /* Pods_Runner.framework */; }; + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */, + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */, + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - F432A7686D8CD7A96D90BB84 /* Pods */, + 51863BFF08D198BF7F5ED51B /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + 51863BFF08D198BF7F5ED51B /* Pods */ = { isa = PBXGroup; children = ( - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */, - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */, + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */, + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */, + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */, + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */, + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */, + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - F432A7686D8CD7A96D90BB84 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */, - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */, - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */, - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */, - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */, - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */, + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */, + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */, + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */, + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */, + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,23 +322,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -377,7 +360,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */ = { + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +382,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */ = { + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -421,6 +404,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/adaptive_app/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 51bff775bf..a5b8f94e3e 100644 --- a/adaptive_app/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,11 +35,11 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - googleapis: ^11.2.0 - http: ^1.0.0 + googleapis: ^11.3.0 + http: ^1.1.0 provider: ^6.0.5 - url_launcher: ^6.1.11 - flex_color_scheme: ^7.1.2 + url_launcher: ^6.1.12 + flex_color_scheme: ^7.2.0 go_router: ^10.0.0 split_view: ^3.2.1 diff --git a/adaptive_app/step_06/web/index.html b/adaptive_app/step_06/web/index.html index a772241387..2d95c49b07 100644 --- a/adaptive_app/step_06/web/index.html +++ b/adaptive_app/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/adaptive_app/step_06/windows/CMakeLists.txt b/adaptive_app/step_06/windows/CMakeLists.txt index 5e53577b91..ba6fc70539 100644 --- a/adaptive_app/step_06/windows/CMakeLists.txt +++ b/adaptive_app/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "adaptive_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/adaptive_app/step_06/windows/runner/flutter_window.cpp b/adaptive_app/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/adaptive_app/step_06/windows/runner/flutter_window.cpp +++ b/adaptive_app/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/adaptive_app/step_06/yt_cors_proxy/pubspec.yaml b/adaptive_app/step_06/yt_cors_proxy/pubspec.yaml index a0684edeac..da86c5a10b 100644 --- a/adaptive_app/step_06/yt_cors_proxy/pubspec.yaml +++ b/adaptive_app/step_06/yt_cors_proxy/pubspec.yaml @@ -3,10 +3,10 @@ description: A YouTube CORS Proxy Server. version: 1.0.0 environment: - sdk: ^3.0.2 + sdk: ^3.1.0-0 dependencies: - http: ^1.0.0 + http: ^1.1.0 shelf: ^1.4.0 shelf_cors_headers: ^0.1.5 diff --git a/adaptive_app/step_07/android/app/build.gradle b/adaptive_app/step_07/android/app/build.gradle index a3a2ab1b2b..70a99b5ffc 100644 --- a/adaptive_app/step_07/android/app/build.gradle +++ b/adaptive_app/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.adaptive_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/adaptive_app/step_07/android/settings.gradle b/adaptive_app/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/adaptive_app/step_07/android/settings.gradle +++ b/adaptive_app/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/adaptive_app/step_07/ios/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_07/ios/Runner.xcodeproj/project.pbxproj index 7c34fd4639..2c464646b3 100644 --- a/adaptive_app/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */; }; + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,16 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,20 +63,16 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 95774017B99E8799DC901692 /* Frameworks */ = { + 8ED55EDF460AA7CB90730D54 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 30EC157458D3A441322F5AED /* Pods_RunnerTests.framework in Frameworks */, + 465244B54E28941CF48AE090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F13C78FB0E1B3DB9E99F1316 /* Pods_Runner.framework in Frameworks */, + AC7ABE197930F46B476F1F79 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,27 +95,27 @@ path = RunnerTests; sourceTree = ""; }; - 85FC71BE423E3A60F2017A4C /* Frameworks */ = { + 3DABFB03B766658DBDCCB9EF /* Pods */ = { isa = PBXGroup; children = ( - FEB61DE00B1403E9E252B229 /* Pods_Runner.framework */, - 8B549A348253E1F2660C86ED /* Pods_RunnerTests.framework */, + 530BDDE96AFEC7F04443449B /* Pods-Runner.debug.xcconfig */, + E909007DCC749511BB149F8E /* Pods-Runner.release.xcconfig */, + 0082036469564DD262D0CE08 /* Pods-Runner.profile.xcconfig */, + 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */, + D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */, + 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - 965B58B323CFAC4BDAB0C5CD /* Pods */ = { + 61CD761DE399804D8DCA07B1 /* Frameworks */ = { isa = PBXGroup; children = ( - C3DC6DB697B5DED0A2C5B378 /* Pods-Runner.debug.xcconfig */, - DDF4BEE15540C3B561DF564D /* Pods-Runner.release.xcconfig */, - 966E28FB294083617C145F4D /* Pods-Runner.profile.xcconfig */, - CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */, - C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */, - A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */, + 91FCA8D4D4DF66DC360233F1 /* Pods_Runner.framework */, + 763D5CF94D96BC82B1D5BF51 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 965B58B323CFAC4BDAB0C5CD /* Pods */, - 85FC71BE423E3A60F2017A4C /* Frameworks */, + 3DABFB03B766658DBDCCB9EF /* Pods */, + 61CD761DE399804D8DCA07B1 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */, + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 95774017B99E8799DC901692 /* Frameworks */, + 8ED55EDF460AA7CB90730D54 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */, + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */, + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -300,7 +301,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - C13D9B63958C3501458987EC /* [CP] Embed Pods Frameworks */ = { + C6509A2551278FB93893F6A1 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -317,7 +318,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - E5C0BA5BA87019129AFE55F5 /* [CP] Check Pods Manifest.lock */ = { + E600E10F02648A15178E0436 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,7 +340,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F5D7B51BE4D10F2F7AD7FA38 /* [CP] Check Pods Manifest.lock */ = { + EE32361B32462733EC663EE9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC144BBAD327779C62B0DB43 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 278E3741F96B2C823E0F380E /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C2CA1033E2702BE02D5018D8 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = D89C9365985C0BF865CC9C50 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A9905F592669B83730B9B087 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 20D2C08D89A2F8E26C9553B1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/adaptive_app/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/adaptive_app/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/adaptive_app/step_07/macos/Runner.xcodeproj/project.pbxproj b/adaptive_app/step_07/macos/Runner.xcodeproj/project.pbxproj index 1fadc600fc..b491523d97 100644 --- a/adaptive_app/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/adaptive_app/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */; }; - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */; }; + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D26D55168503120B887EEB1 /* Pods_Runner.framework */; }; + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C0CEE584055E497D635A59D4 /* Pods_RunnerTests.framework in Frameworks */, + DC6BFE4327A7F482A75E6077 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F0BC4E21359DC3A1B132DEA2 /* Pods_Runner.framework in Frameworks */, + 670C911ADA2C9068DF48E02D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - F432A7686D8CD7A96D90BB84 /* Pods */, + 51863BFF08D198BF7F5ED51B /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + 51863BFF08D198BF7F5ED51B /* Pods */ = { isa = PBXGroup; children = ( - 067F995A1168AA21CDC8BA6E /* Pods_Runner.framework */, - 4664496DA7B5D78C147E4701 /* Pods_RunnerTests.framework */, + 5AD7550EE046B01078F11AE2 /* Pods-Runner.debug.xcconfig */, + F3E17A48088DA834481E82B9 /* Pods-Runner.release.xcconfig */, + DE4FEFDBEFD34721E8E5C3A4 /* Pods-Runner.profile.xcconfig */, + 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */, + 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */, + 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - F432A7686D8CD7A96D90BB84 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 64F7EBCB99C6FEB6D890B5F3 /* Pods-Runner.debug.xcconfig */, - 6732D2F804722CD751143FE2 /* Pods-Runner.release.xcconfig */, - 3D5D2CFF9C146EE6EE196959 /* Pods-Runner.profile.xcconfig */, - 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */, - C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */, - 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */, + 5D26D55168503120B887EEB1 /* Pods_Runner.framework */, + 98AC246E3CB9892CE978AAC6 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */, + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */, + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */, + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,23 +322,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2A187443B9764DA820F1C2BA /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -377,7 +360,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - F1E81895C883E11E7333BC3E /* [CP] Check Pods Manifest.lock */ = { + 5BD6C35040AFD9BD35C1A009 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +382,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - F9251E9AC7A8797DF3908783 /* [CP] Check Pods Manifest.lock */ = { + AD9A5728C3067014CAE869B4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -421,6 +404,23 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; + D2C8C59AAFA8D0DF3E29E570 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 0C61EAB081EC4798C0C8A5B4 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 4317758C9EED7E924D1C98FF /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C272AB0DCD721697D1560EC2 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 4099366C43FB36F204285DE0 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 32363F1CCFB16A694FA94A39 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 53331D9D85547C4C0F5C8387 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/adaptive_app/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/adaptive_app/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 51bff775bf..a5b8f94e3e 100644 --- a/adaptive_app/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/adaptive_app/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,16 +35,16 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - googleapis: ^11.2.0 + googleapis: ^11.3.0 provider: ^6.0.5 - url_launcher: ^6.1.11 - flex_color_scheme: ^7.1.2 + url_launcher: ^6.1.12 + flex_color_scheme: ^7.2.0 go_router: ^10.0.0 split_view: ^3.2.1 googleapis_auth: ^1.4.1 - google_sign_in: ^6.1.2 - extension_google_sign_in_as_googleapis_auth: ^2.0.9 - http: ^1.0.0 + google_sign_in: ^6.1.4 + extension_google_sign_in_as_googleapis_auth: ^2.0.10 + http: ^1.1.0 dev_dependencies: flutter_test: diff --git a/adaptive_app/step_07/web/index.html b/adaptive_app/step_07/web/index.html index 0951fc65a8..047b8e445b 100644 --- a/adaptive_app/step_07/web/index.html +++ b/adaptive_app/step_07/web/index.html @@ -37,7 +37,7 @@ diff --git a/adaptive_app/step_07/windows/CMakeLists.txt b/adaptive_app/step_07/windows/CMakeLists.txt index 5e53577b91..ba6fc70539 100644 --- a/adaptive_app/step_07/windows/CMakeLists.txt +++ b/adaptive_app/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "adaptive_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/adaptive_app/step_07/windows/runner/flutter_window.cpp b/adaptive_app/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/adaptive_app/step_07/windows/runner/flutter_window.cpp +++ b/adaptive_app/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/adaptive_app/step_07/yt_cors_proxy/pubspec.yaml b/adaptive_app/step_07/yt_cors_proxy/pubspec.yaml index a0684edeac..da86c5a10b 100644 --- a/adaptive_app/step_07/yt_cors_proxy/pubspec.yaml +++ b/adaptive_app/step_07/yt_cors_proxy/pubspec.yaml @@ -3,10 +3,10 @@ description: A YouTube CORS Proxy Server. version: 1.0.0 environment: - sdk: ^3.0.2 + sdk: ^3.1.0-0 dependencies: - http: ^1.0.0 + http: ^1.1.0 shelf: ^1.4.0 shelf_cors_headers: ^0.1.5 diff --git a/animated-responsive-layout/codelab_rebuild.yaml b/animated-responsive-layout/codelab_rebuild.yaml index 257ff841ca..301b044da9 100644 --- a/animated-responsive-layout/codelab_rebuild.yaml +++ b/animated-responsive-layout/codelab_rebuild.yaml @@ -338,17 +338,17 @@ steps: // Copyright 2022 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 'package:flutter/material.dart'; import '../models/models.dart'; import 'star_button.dart'; - + enum EmailType { preview, threaded, primaryThreaded, } - + class EmailWidget extends StatefulWidget { const EmailWidget({ super.key, @@ -359,31 +359,31 @@ steps: this.showHeadline = false, this.onSelected, }); - + final bool isSelected; final bool isPreview; final bool showHeadline; final bool isThreaded; final void Function()? onSelected; final Email email; - + @override State createState() => _EmailWidgetState(); } - + class _EmailWidgetState extends State { late final ColorScheme _colorScheme = Theme.of(context).colorScheme; late Color unselectedColor = Color.alphaBlend( _colorScheme.primary.withOpacity(0.08), _colorScheme.surface, ); - - Color get _surfaceColor { - if (!widget.isPreview) return _colorScheme.surface; - if (widget.isSelected) return _colorScheme.primaryContainer; - return unselectedColor; - } - + + Color get _surfaceColor => switch (widget) { + EmailWidget(isPreview: false) => _colorScheme.surface, + EmailWidget(isSelected: true) => _colorScheme.primaryContainer, + _ => unselectedColor, + }; + @override Widget build(BuildContext context) { return GestureDetector( @@ -414,7 +414,7 @@ steps: ); } } - + class EmailContent extends StatefulWidget { const EmailContent({ super.key, @@ -423,46 +423,44 @@ steps: required this.isThreaded, required this.isSelected, }); - + final Email email; final bool isPreview; final bool isThreaded; final bool isSelected; - + @override State createState() => _EmailContentState(); } - + class _EmailContentState extends State { late final ColorScheme _colorScheme = Theme.of(context).colorScheme; late final TextTheme _textTheme = Theme.of(context).textTheme; - + Widget get contentSpacer => SizedBox(height: widget.isThreaded ? 20 : 2); - + String get lastActiveLabel { final DateTime now = DateTime.now(); if (widget.email.sender.lastActive.isAfter(now)) throw ArgumentError(); final Duration elapsedTime = widget.email.sender.lastActive.difference(now).abs(); - if (elapsedTime.inSeconds < 60) return '${elapsedTime.inSeconds}s'; - if (elapsedTime.inMinutes < 60) return '${elapsedTime.inMinutes}m'; - if (elapsedTime.inHours < 60) return '${elapsedTime.inHours}h'; - if (elapsedTime.inDays < 365) return '${elapsedTime.inDays}d'; - throw UnimplementedError(); - } - - TextStyle? get contentTextStyle { - if (widget.isThreaded) { - return _textTheme.bodyLarge; - } - if (widget.isSelected) { - return _textTheme.bodyMedium - ?.copyWith(color: _colorScheme.onPrimaryContainer); - } - return _textTheme.bodyMedium - ?.copyWith(color: _colorScheme.onSurfaceVariant); + return switch (elapsedTime) { + Duration(inSeconds: < 60) => '${elapsedTime.inSeconds}s', + Duration(inMinutes: < 60) => '${elapsedTime.inMinutes}m', + Duration(inHours: < 24) => '${elapsedTime.inHours}h', + Duration(inDays: < 365) => '${elapsedTime.inDays}d', + _ => throw UnimplementedError(), + }; } - + + TextStyle? get contentTextStyle => switch (widget) { + EmailContent(isThreaded: true) => _textTheme.bodyLarge, + EmailContent(isSelected: true) => _textTheme.bodyMedium + ?.copyWith(color: _colorScheme.onPrimaryContainer), + _ => + _textTheme.bodyMedium?.copyWith(color: _colorScheme.onSurfaceVariant), + }; + @override Widget build(BuildContext context) { return Padding( @@ -561,25 +559,25 @@ steps: ); } } - + class EmailHeadline extends StatefulWidget { const EmailHeadline({ super.key, required this.email, required this.isSelected, }); - + final Email email; final bool isSelected; - + @override State createState() => _EmailHeadlineState(); } - + class _EmailHeadlineState extends State { late final TextTheme _textTheme = Theme.of(context).textTheme; late final ColorScheme _colorScheme = Theme.of(context).colorScheme; - + @override Widget build(BuildContext context) { return LayoutBuilder(builder: (context, constraints) { @@ -649,17 +647,17 @@ steps: }); } } - + class EmailReplyOptions extends StatefulWidget { const EmailReplyOptions({super.key}); - + @override State createState() => _EmailReplyOptionsState(); } - + class _EmailReplyOptionsState extends State { late final ColorScheme _colorScheme = Theme.of(context).colorScheme; - + @override Widget build(BuildContext context) { return LayoutBuilder( @@ -1795,12 +1793,12 @@ steps: // Copyright 2022 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 'dart:ui'; - + import 'package:flutter/material.dart'; import '../animations.dart'; - + class ListDetailTransition extends StatefulWidget { const ListDetailTransition({ super.key, @@ -1808,15 +1806,15 @@ steps: required this.one, required this.two, }); - + final Animation animation; final Widget one; final Widget two; - + @override State createState() => _ListDetailTransitionState(); } - + class _ListDetailTransitionState extends State { Animation widthAnimation = const AlwaysStoppedAnimation(0); late final Animation sizeAnimation = @@ -1826,31 +1824,29 @@ steps: end: Offset.zero, ).animate(OffsetAnimation(parent: sizeAnimation)); double currentFlexFactor = 0; - + @override void didChangeDependencies() { super.didChangeDependencies(); - + // When the app's width is < 800, widgets one and two get 1/2 of // the available width, As the app gets wider, the allocation // gradually changes to 1/3 and 2/3 for widgets one and two. When // the window is wider than 1600, the allocation changes to 1/4 3/4. final double width = MediaQuery.of(context).size.width; - double nextFlexFactor = 1000; - if (width >= 800 && width < 1200) { - nextFlexFactor = lerpDouble(1000, 2000, (width - 800) / 400)!; - } else if (width >= 1200 && width < 1600) { - nextFlexFactor = lerpDouble(2000, 3000, (width - 1200) / 400)!; - } else if (width > 1600) { - nextFlexFactor = 3000; - } - + double nextFlexFactor = switch (width) { + >= 800 && < 1200 => lerpDouble(1000, 2000, (width - 800) / 400)!, + >= 1200 && < 1600 => lerpDouble(2000, 3000, (width - 1200) / 400)!, + >= 1600 => 3000, + _ => 1000, + }; + // Continue along the current animation curve if the // destionation flex factor has not changed. if (nextFlexFactor == currentFlexFactor) { return; } - + if (currentFlexFactor == 0) { widthAnimation = Tween(begin: 0, end: nextFlexFactor).animate(sizeAnimation); @@ -1869,13 +1865,13 @@ steps: ), ], ]); - + widthAnimation = sequence.animate(sizeAnimation); } - + currentFlexFactor = nextFlexFactor; } - + @override Widget build(BuildContext context) { return widthAnimation.value.toInt() == 0 diff --git a/animated-responsive-layout/step_03/android/app/build.gradle b/animated-responsive-layout/step_03/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_03/android/app/build.gradle +++ b/animated-responsive-layout/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_03/android/settings.gradle b/animated-responsive-layout/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_03/android/settings.gradle +++ b/animated-responsive-layout/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_03/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_03/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_03/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_03/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_03/web/index.html b/animated-responsive-layout/step_03/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_03/web/index.html +++ b/animated-responsive-layout/step_03/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_03/windows/CMakeLists.txt b/animated-responsive-layout/step_03/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_03/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_03/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_03/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/animated-responsive-layout/step_04/android/app/build.gradle b/animated-responsive-layout/step_04/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_04/android/app/build.gradle +++ b/animated-responsive-layout/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_04/android/settings.gradle b/animated-responsive-layout/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_04/android/settings.gradle +++ b/animated-responsive-layout/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_04/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_04/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_04/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_04/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_04/web/index.html b/animated-responsive-layout/step_04/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_04/web/index.html +++ b/animated-responsive-layout/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_04/windows/CMakeLists.txt b/animated-responsive-layout/step_04/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_04/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_04/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_04/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/animated-responsive-layout/step_05/android/app/build.gradle b/animated-responsive-layout/step_05/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_05/android/app/build.gradle +++ b/animated-responsive-layout/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_05/android/settings.gradle b/animated-responsive-layout/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_05/android/settings.gradle +++ b/animated-responsive-layout/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_05/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_05/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_05/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_05/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_05/web/index.html b/animated-responsive-layout/step_05/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_05/web/index.html +++ b/animated-responsive-layout/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_05/windows/CMakeLists.txt b/animated-responsive-layout/step_05/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_05/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_05/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_05/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/animated-responsive-layout/step_06/android/app/build.gradle b/animated-responsive-layout/step_06/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_06/android/app/build.gradle +++ b/animated-responsive-layout/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_06/android/settings.gradle b/animated-responsive-layout/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_06/android/settings.gradle +++ b/animated-responsive-layout/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_06/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_06/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_06/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_06/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_06/web/index.html b/animated-responsive-layout/step_06/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_06/web/index.html +++ b/animated-responsive-layout/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_06/windows/CMakeLists.txt b/animated-responsive-layout/step_06/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_06/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_06/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_06/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/animated-responsive-layout/step_07/android/app/build.gradle b/animated-responsive-layout/step_07/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_07/android/app/build.gradle +++ b/animated-responsive-layout/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_07/android/settings.gradle b/animated-responsive-layout/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_07/android/settings.gradle +++ b/animated-responsive-layout/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_07/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_07/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_07/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_07/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_07/web/index.html b/animated-responsive-layout/step_07/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_07/web/index.html +++ b/animated-responsive-layout/step_07/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_07/windows/CMakeLists.txt b/animated-responsive-layout/step_07/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_07/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_07/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_07/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/animated-responsive-layout/step_08/android/app/build.gradle b/animated-responsive-layout/step_08/android/app/build.gradle index 9360f25f71..29d7ca45ec 100644 --- a/animated-responsive-layout/step_08/android/app/build.gradle +++ b/animated-responsive-layout/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.animated_responsive_layout" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/animated-responsive-layout/step_08/android/settings.gradle b/animated-responsive-layout/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/animated-responsive-layout/step_08/android/settings.gradle +++ b/animated-responsive-layout/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/animated-responsive-layout/step_08/ios/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_08/ios/Runner.xcodeproj/project.pbxproj index 9336338a1d..d3d5232de5 100644 --- a/animated-responsive-layout/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/animated-responsive-layout/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/animated-responsive-layout/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/animated-responsive-layout/step_08/macos/Runner.xcodeproj/project.pbxproj b/animated-responsive-layout/step_08/macos/Runner.xcodeproj/project.pbxproj index 18dbe8b7b6..404eade0b5 100644 --- a/animated-responsive-layout/step_08/macos/Runner.xcodeproj/project.pbxproj +++ b/animated-responsive-layout/step_08/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/animated-responsive-layout/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/animated-responsive-layout/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index c60fedec94..852b6f58d4 100644 --- a/animated-responsive-layout/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/animated-responsive-layout/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.1 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/animated-responsive-layout/step_08/web/index.html b/animated-responsive-layout/step_08/web/index.html index 0f63178067..74ebebfcd3 100644 --- a/animated-responsive-layout/step_08/web/index.html +++ b/animated-responsive-layout/step_08/web/index.html @@ -34,7 +34,7 @@ diff --git a/animated-responsive-layout/step_08/windows/CMakeLists.txt b/animated-responsive-layout/step_08/windows/CMakeLists.txt index 032313578b..da07ef3446 100644 --- a/animated-responsive-layout/step_08/windows/CMakeLists.txt +++ b/animated-responsive-layout/step_08/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "animated_responsive_layout") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/animated-responsive-layout/step_08/windows/runner/flutter_window.cpp b/animated-responsive-layout/step_08/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/animated-responsive-layout/step_08/windows/runner/flutter_window.cpp +++ b/animated-responsive-layout/step_08/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/codelab_rebuild.yaml b/boring_to_beautiful/codelab_rebuild.yaml index 98f67d2b59..c592ad3e11 100644 --- a/boring_to_beautiful/codelab_rebuild.yaml +++ b/boring_to_beautiful/codelab_rebuild.yaml @@ -42,7 +42,7 @@ steps: version: 1.0.0 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: flutter: @@ -2479,10 +2479,10 @@ steps: // Copyright 2022 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 'package:flutter/material.dart'; // Add Google Fonts Package import - + extension TypographyUtils on BuildContext { ThemeData get theme => Theme.of(this); TextTheme get textTheme => theme.textTheme; // Modify this line @@ -2533,36 +2533,29 @@ steps: color: colors.onSurface, ); } - + extension BreakpointUtils on BoxConstraints { bool get isTablet => maxWidth > 730; bool get isDesktop => maxWidth > 1200; bool get isMobile => !isTablet && !isDesktop; } - + extension DurationString on String { /// Assumes a string (roughly) of the format '\d{1,2}:\d{2}' - Duration toDuration() { - final chunks = split(':'); - if (chunks.length == 1) { - throw Exception('Invalid duration string: $this'); - } else if (chunks.length == 2) { - return Duration( - minutes: int.parse(chunks[0].trim()), - seconds: int.parse(chunks[1].trim()), - ); - } else if (chunks.length == 3) { - return Duration( - hours: int.parse(chunks[0].trim()), - minutes: int.parse(chunks[1].trim()), - seconds: int.parse(chunks[2].trim()), - ); - } else { - throw Exception('Invalid duration string: $this'); - } - } + Duration toDuration() => switch (split(':')) { + [var minutes, var seconds] => Duration( + minutes: int.parse(minutes.trim()), + seconds: int.parse(seconds.trim()), + ), + [var hours, var minutes, var seconds] => Duration( + hours: int.parse(hours.trim()), + minutes: int.parse(minutes.trim()), + seconds: int.parse(seconds.trim()), + ), + _ => throw Exception('Invalid duration string: $this'), + }; } - + extension HumanizedDuration on Duration { String toHumanizedString() { final seconds = '${inSeconds % 60}'.padLeft(2, '0'); @@ -3163,26 +3156,26 @@ steps: // Copyright 2022 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 'dart:async'; - + import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; - + import '../classes/classes.dart'; import '../extensions.dart'; import '../playback/bloc/bloc.dart'; import '../providers/providers.dart'; import 'image_clipper.dart'; - + /// Currently-playing informational bar that always spans the entire bottom /// of the UI. class BottomBar extends StatelessWidget implements PreferredSizeWidget { const BottomBar({super.key}); - + @override Size get preferredSize => const Size.fromHeight(90); - + @override Widget build(BuildContext context) { final bloc = BlocProvider.of(context); @@ -3201,7 +3194,7 @@ steps: ); } } - + class _BottomBar extends StatelessWidget { const _BottomBar({ required this.artist, @@ -3213,7 +3206,7 @@ steps: required this.togglePlayPause, required this.volume, }); - + final Artist? artist; final bool isMuted; final bool isPlaying; @@ -3222,14 +3215,14 @@ steps: final Song? song; final VoidCallback togglePlayPause; final double volume; - + @override Widget build(BuildContext context) => LayoutBuilder( builder: (context, constraints) => constraints.isTablet ? _buildDesktopBar(context, constraints) : _buildMobileBar(context, constraints), ); - + Widget _buildDesktopBar(BuildContext context, BoxConstraints constraints) { return ColoredBox( color: Theme.of(context).colorScheme.tertiaryContainer, @@ -3296,11 +3289,13 @@ steps: ), ); } - - double get songProgress => progress != null && song != null - ? progress!.inMilliseconds / song!.length.inMilliseconds - : 0; - + + double get songProgress => switch ((progress, song)) { + (Duration progress, Song song) => + progress.inMilliseconds / song.length.inMilliseconds, + _ => 0, + }; + Widget _buildMobileBar(BuildContext context, BoxConstraints constraints) { return ColoredBox( color: Theme.of(context).colorScheme.tertiaryContainer, @@ -3378,34 +3373,33 @@ steps: ); } } - + class _ProgressBar extends StatelessWidget { const _ProgressBar({ required this.progress, required this.song, }); - + /// Current playback depth into user is into [song]. final Duration? progress; - + final Song? song; - - double get songProgress => progress != null && song != null - ? progress!.inMilliseconds / song!.length.inMilliseconds - : 0; - + + double get songProgress => switch ((progress, song)) { + (Duration progress, Song song) => + progress.inMilliseconds / song.length.inMilliseconds, + _ => 0, + }; + @override Widget build(BuildContext context) { return LayoutBuilder( builder: (context, constraints) { - late EdgeInsets padding = EdgeInsets.zero; - if (constraints.maxWidth > 500) { - padding = const EdgeInsets.symmetric(horizontal: 50); - } else if (constraints.maxWidth < 350) { - padding = const EdgeInsets.symmetric(horizontal: 25); - } else { - padding = const EdgeInsets.symmetric(horizontal: 20); - } + EdgeInsets padding = switch (constraints.maxWidth) { + > 500 => const EdgeInsets.symmetric(horizontal: 50), + > 350 => const EdgeInsets.symmetric(horizontal: 25), + _ => const EdgeInsets.symmetric(horizontal: 20), + }; return Padding( padding: padding, child: Row( @@ -3456,21 +3450,21 @@ steps: ); } } - + class _VolumeBar extends StatelessWidget { const _VolumeBar({ required this.volume, required this.isMuted, }); - + /// The percentage, between 0 and 1, at which to render the volume slider. final double volume; - + /// True if the user has explicitly pressed the mute button. The value for /// [volume] can be zero without this also being `true`, but if this is `true`, /// then the value for [volume] will always be zero. final bool isMuted; - + @override Widget build(BuildContext context) { return ConstrainedBox( @@ -3505,16 +3499,16 @@ steps: ); } } - + class _PlaybackControls extends StatelessWidget { const _PlaybackControls({ required this.isPlaying, required this.togglePlayPause, }); - + final bool isPlaying; final VoidCallback togglePlayPause; - + @override Widget build(BuildContext context) { return LayoutBuilder(builder: (context, constraints) { @@ -3555,14 +3549,14 @@ steps: }); } } - + class _AlbumArt extends StatelessWidget { const _AlbumArt({ required this.song, }); - + final Song? song; - + @override Widget build(BuildContext context) { return Padding( @@ -3579,16 +3573,16 @@ steps: ); } } - + class _SongDetails extends StatelessWidget { const _SongDetails({ required this.artist, required this.song, }); - + final Artist? artist; final Song? song; - + @override Widget build(BuildContext context) { return LayoutBuilder( @@ -3614,22 +3608,22 @@ steps: ); } } - + class _FullScreenPlayer extends StatefulWidget { const _FullScreenPlayer({ required this.onClose, }); - + final VoidCallback onClose; - + @override State<_FullScreenPlayer> createState() => _FullScreenPlayerState(); } - + class _FullScreenPlayerState extends State<_FullScreenPlayer> { bool _showControls = true; Timer? _controlsTimer; - + void hideControls() { _controlsTimer?.cancel(); _controlsTimer = Timer(const Duration(seconds: 3), () { @@ -3638,13 +3632,13 @@ steps: }); }); } - + @override void initState() { super.initState(); hideControls(); } - + @override Widget build(BuildContext context) { final bloc = BlocProvider.of(context); @@ -3670,7 +3664,7 @@ steps: ), ); } - + Widget buildPlayer( BuildContext context, PlaybackState state, BoxConstraints dimens) { final bloc = BlocProvider.of(context); @@ -3770,14 +3764,14 @@ steps: ); } } - + class _MobilePlayer extends StatelessWidget { const _MobilePlayer({ required this.onClose, }); - + final VoidCallback onClose; - + @override Widget build(BuildContext context) { final bloc = BlocProvider.of(context); @@ -3795,7 +3789,7 @@ steps: ), ); } - + Widget buildPlayer( BuildContext context, PlaybackState state, BoxConstraints dimens) { final bloc = BlocProvider.of(context); diff --git a/boring_to_beautiful/final/android/app/build.gradle b/boring_to_beautiful/final/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/final/android/app/build.gradle +++ b/boring_to_beautiful/final/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/final/android/settings.gradle b/boring_to_beautiful/final/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/final/android/settings.gradle +++ b/boring_to_beautiful/final/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/final/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/final/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/final/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/final/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/final/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/final/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/final/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/final/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/final/lib/src/shared/extensions.dart b/boring_to_beautiful/final/lib/src/shared/extensions.dart index 45b0cda72c..8b7e41b988 100644 --- a/boring_to_beautiful/final/lib/src/shared/extensions.dart +++ b/boring_to_beautiful/final/lib/src/shared/extensions.dart @@ -64,25 +64,18 @@ extension BreakpointUtils on BoxConstraints { extension DurationString on String { /// Assumes a string (roughly) of the format '\d{1,2}:\d{2}' - Duration toDuration() { - final chunks = split(':'); - if (chunks.length == 1) { - throw Exception('Invalid duration string: $this'); - } else if (chunks.length == 2) { - return Duration( - minutes: int.parse(chunks[0].trim()), - seconds: int.parse(chunks[1].trim()), - ); - } else if (chunks.length == 3) { - return Duration( - hours: int.parse(chunks[0].trim()), - minutes: int.parse(chunks[1].trim()), - seconds: int.parse(chunks[2].trim()), - ); - } else { - throw Exception('Invalid duration string: $this'); - } - } + Duration toDuration() => switch (split(':')) { + [var minutes, var seconds] => Duration( + minutes: int.parse(minutes.trim()), + seconds: int.parse(seconds.trim()), + ), + [var hours, var minutes, var seconds] => Duration( + hours: int.parse(hours.trim()), + minutes: int.parse(minutes.trim()), + seconds: int.parse(seconds.trim()), + ), + _ => throw Exception('Invalid duration string: $this'), + }; } extension HumanizedDuration on Duration { diff --git a/boring_to_beautiful/final/lib/src/shared/views/bottom_bar.dart b/boring_to_beautiful/final/lib/src/shared/views/bottom_bar.dart index b13f6aa922..52037a345b 100644 --- a/boring_to_beautiful/final/lib/src/shared/views/bottom_bar.dart +++ b/boring_to_beautiful/final/lib/src/shared/views/bottom_bar.dart @@ -135,9 +135,11 @@ class _BottomBar extends StatelessWidget { ); } - double get songProgress => progress != null && song != null - ? progress!.inMilliseconds / song!.length.inMilliseconds - : 0; + double get songProgress => switch ((progress, song)) { + (Duration progress, Song song) => + progress.inMilliseconds / song.length.inMilliseconds, + _ => 0, + }; Widget _buildMobileBar(BuildContext context, BoxConstraints constraints) { return ColoredBox( @@ -228,22 +230,21 @@ class _ProgressBar extends StatelessWidget { final Song? song; - double get songProgress => progress != null && song != null - ? progress!.inMilliseconds / song!.length.inMilliseconds - : 0; + double get songProgress => switch ((progress, song)) { + (Duration progress, Song song) => + progress.inMilliseconds / song.length.inMilliseconds, + _ => 0, + }; @override Widget build(BuildContext context) { return LayoutBuilder( builder: (context, constraints) { - late EdgeInsets padding = EdgeInsets.zero; - if (constraints.maxWidth > 500) { - padding = const EdgeInsets.symmetric(horizontal: 50); - } else if (constraints.maxWidth < 350) { - padding = const EdgeInsets.symmetric(horizontal: 25); - } else { - padding = const EdgeInsets.symmetric(horizontal: 20); - } + EdgeInsets padding = switch (constraints.maxWidth) { + > 500 => const EdgeInsets.symmetric(horizontal: 50), + > 350 => const EdgeInsets.symmetric(horizontal: 25), + _ => const EdgeInsets.symmetric(horizontal: 20), + }; return Padding( padding: padding, child: Row( diff --git a/boring_to_beautiful/final/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/final/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/final/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/final/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/final/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/final/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/final/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/final/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/final/windows/CMakeLists.txt b/boring_to_beautiful/final/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/final/windows/CMakeLists.txt +++ b/boring_to_beautiful/final/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/final/windows/runner/flutter_window.cpp b/boring_to_beautiful/final/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/final/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/final/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_01/android/app/build.gradle b/boring_to_beautiful/step_01/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_01/android/app/build.gradle +++ b/boring_to_beautiful/step_01/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_01/android/settings.gradle b/boring_to_beautiful/step_01/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_01/android/settings.gradle +++ b/boring_to_beautiful/step_01/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_01/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_01/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_01/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_01/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_01/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_01/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_01/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_01/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_01/windows/CMakeLists.txt b/boring_to_beautiful/step_01/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_01/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_01/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_01/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_01/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_01/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_01/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_02/android/app/build.gradle b/boring_to_beautiful/step_02/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_02/android/app/build.gradle +++ b/boring_to_beautiful/step_02/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_02/android/settings.gradle b/boring_to_beautiful/step_02/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_02/android/settings.gradle +++ b/boring_to_beautiful/step_02/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_02/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_02/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_02/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_02/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_02/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_02/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_02/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_02/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_02/windows/CMakeLists.txt b/boring_to_beautiful/step_02/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_02/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_02/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_02/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_02/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_02/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_02/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_03/android/app/build.gradle b/boring_to_beautiful/step_03/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_03/android/app/build.gradle +++ b/boring_to_beautiful/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_03/android/settings.gradle b/boring_to_beautiful/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_03/android/settings.gradle +++ b/boring_to_beautiful/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_03/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_03/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_03/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_03/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_03/windows/CMakeLists.txt b/boring_to_beautiful/step_03/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_03/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_03/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_03/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_04/android/app/build.gradle b/boring_to_beautiful/step_04/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_04/android/app/build.gradle +++ b/boring_to_beautiful/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_04/android/settings.gradle b/boring_to_beautiful/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_04/android/settings.gradle +++ b/boring_to_beautiful/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_04/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_04/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_04/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_04/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_04/windows/CMakeLists.txt b/boring_to_beautiful/step_04/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_04/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_04/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_04/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_05/android/app/build.gradle b/boring_to_beautiful/step_05/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_05/android/app/build.gradle +++ b/boring_to_beautiful/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_05/android/settings.gradle b/boring_to_beautiful/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_05/android/settings.gradle +++ b/boring_to_beautiful/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_05/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_05/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_05/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_05/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_05/windows/CMakeLists.txt b/boring_to_beautiful/step_05/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_05/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_05/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_05/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_06/android/app/build.gradle b/boring_to_beautiful/step_06/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_06/android/app/build.gradle +++ b/boring_to_beautiful/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_06/android/settings.gradle b/boring_to_beautiful/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_06/android/settings.gradle +++ b/boring_to_beautiful/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_06/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_06/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_06/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_06/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_06/windows/CMakeLists.txt b/boring_to_beautiful/step_06/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_06/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_06/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_06/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/boring_to_beautiful/step_07/android/app/build.gradle b/boring_to_beautiful/step_07/android/app/build.gradle index 490c4e13cb..7870528822 100644 --- a/boring_to_beautiful/step_07/android/app/build.gradle +++ b/boring_to_beautiful/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.myartist" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/boring_to_beautiful/step_07/android/settings.gradle b/boring_to_beautiful/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/boring_to_beautiful/step_07/android/settings.gradle +++ b/boring_to_beautiful/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/boring_to_beautiful/step_07/ios/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_07/ios/Runner.xcodeproj/project.pbxproj index 1078d177fb..8722216335 100644 --- a/boring_to_beautiful/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CA86085B457A30D620C20ECA /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */; }; + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,18 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CA86085B457A30D620C20ECA /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 185714F16F0EFB17294AD55F /* Frameworks */ = { + 4F4BAC66742E62B22008CADB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - EBE6C70C10BDB79E04433552 /* Pods_RunnerTests.framework in Frameworks */, + A60D8FCD73AE351258649FFA /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,7 +80,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E345D15D648D0D1DA694493 /* Pods_Runner.framework in Frameworks */, + 2C0FC91553B57DFC67455391 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,29 +95,20 @@ path = RunnerTests; sourceTree = ""; }; - 46C586F88CA31255193716FE /* Pods */ = { + 4648D088EEA6129CB26B4758 /* Pods */ = { isa = PBXGroup; children = ( - 1CF4F172B13CFA2456E35971 /* Pods-Runner.debug.xcconfig */, - A3E555242E8A4728A4BC241D /* Pods-Runner.release.xcconfig */, - 5031951404B5925A2D5B4485 /* Pods-Runner.profile.xcconfig */, - 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */, - B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */, - AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */, + D33A5EB0795319352349B0D7 /* Pods-Runner.debug.xcconfig */, + F29B6A347685301164C11180 /* Pods-Runner.release.xcconfig */, + 7F6718480FDEF3B51AE3E3A0 /* Pods-Runner.profile.xcconfig */, + 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */, + FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */, + 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; sourceTree = ""; }; - 53B3C3B86D810B283728D93C /* Frameworks */ = { - isa = PBXGroup; - children = ( - CA86085B457A30D620C20ECA /* Pods_Runner.framework */, - 62060DD085DD9E9D4FAAF2D0 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 46C586F88CA31255193716FE /* Pods */, - 53B3C3B86D810B283728D93C /* Frameworks */, + 4648D088EEA6129CB26B4758 /* Pods */, + A617073481E246FB8401D5FE /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + A617073481E246FB8401D5FE /* Frameworks */ = { + isa = PBXGroup; + children = ( + AD631ECEE5331E821C5FA39D /* Pods_Runner.framework */, + 0A3E935CB1DE493DB052AC35 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */, + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 185714F16F0EFB17294AD55F /* Frameworks */, + 4F4BAC66742E62B22008CADB /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */, + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */, + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 134DE1525C03066FB9DF411A /* [CP] Check Pods Manifest.lock */ = { + 090EFC981C01A3DD9710B6EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,45 +285,45 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 1CACDB66DD33D0FB40E4D875 /* [CP] Embed Pods Frameworks */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + name = "Thin Binary"; + outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 7F0D37B23A3833B085E02AAE /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -339,7 +340,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - F31A8731FF56BBDBB7921992 /* [CP] Check Pods Manifest.lock */ = { + F41DD90B5980FC03539646DE /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 16A6B0A23DE7C7467A3D0BE5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 3BE0022080FC96BA377094A9 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B154339B5D51778EAF23388E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = FE64BAB893BBB55B2CAE2EDD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAB7595BB3FFF0B79DEFB0E5 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8353534B48FB59F37F3844E1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/boring_to_beautiful/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/boring_to_beautiful/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/boring_to_beautiful/step_07/macos/Runner.xcodeproj/project.pbxproj b/boring_to_beautiful/step_07/macos/Runner.xcodeproj/project.pbxproj index a80b20c6bf..fa6c0e3d43 100644 --- a/boring_to_beautiful/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/boring_to_beautiful/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */; }; + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */; }; + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 280A13D5B277178D3CB04454 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,7 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -79,15 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1C20B385717D5998D287D11F /* Pods_RunnerTests.framework in Frameworks */, + 322AD1FA56BFC3EF7D279DF9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - C13F596B97869A0284354E09 /* Pods_Runner.framework in Frameworks */, + 2E85E40AF354EAFA02CB020E /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 8F2207BC33CAE4A38563C4B6 /* Pods */, + 99A1D35570A116371FCC9EEA /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 8F2207BC33CAE4A38563C4B6 /* Pods */ = { + 99A1D35570A116371FCC9EEA /* Pods */ = { isa = PBXGroup; children = ( - 4F85CF8F599925AF2856ACE7 /* Pods-Runner.debug.xcconfig */, - 64C42E64FEDA1C6584EED02E /* Pods-Runner.release.xcconfig */, - 69AB617CB57D5A115C16A7F8 /* Pods-Runner.profile.xcconfig */, - A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */, - C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */, - ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */, + 2E1B87748A2C7B65D99E17E0 /* Pods-Runner.debug.xcconfig */, + D498B5B83F825319A0F3F068 /* Pods-Runner.release.xcconfig */, + B1636BC8686C2D859F0CA7AB /* Pods-Runner.profile.xcconfig */, + FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */, + 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */, + C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 280A13D5B277178D3CB04454 /* Pods_Runner.framework */, - 8E31A62614442CB400C4A28A /* Pods_RunnerTests.framework */, + A59F04A9A180F03A42C5D95B /* Pods_Runner.framework */, + EC396E1DBA56B19BEDB808D5 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */, + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */, + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */, + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 227AEDB0354684DAEF3CD897 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 625253D07CBFCDFF4A4A6CF0 /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6C8512E15B15C19415841FFD /* [CP] Embed Pods Frameworks */ = { + 406D930B2FD089818883F53E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - CB4CB2839FAF345B87CCDE58 /* [CP] Check Pods Manifest.lock */ = { + CF06FA290AA427F6DC82FB8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A22BDC51896170468A307486 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = FAE5BBFB5C4F2A95F44DAE26 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C998EE78F1D5EBC8F8FC3398 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 08D02A33938C332D689217DD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = ED70B400C233FB6BE4E21079 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = C1939FD0D069C6C5F9B93093 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/boring_to_beautiful/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/boring_to_beautiful/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7748c8be11..8aacf8d1c1 100644 --- a/boring_to_beautiful/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/boring_to_beautiful/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/boring_to_beautiful/step_07/windows/CMakeLists.txt b/boring_to_beautiful/step_07/windows/CMakeLists.txt index 0486089e13..ce65a1b156 100644 --- a/boring_to_beautiful/step_07/windows/CMakeLists.txt +++ b/boring_to_beautiful/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "myartist") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/boring_to_beautiful/step_07/windows/runner/flutter_window.cpp b/boring_to_beautiful/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/boring_to_beautiful/step_07/windows/runner/flutter_window.cpp +++ b/boring_to_beautiful/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/cupertino_store/step_00/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_00/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_00/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_00/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_00/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_00/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_00/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_00/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_00/pubspec.yaml b/cupertino_store/step_00/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_00/pubspec.yaml +++ b/cupertino_store/step_00/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_01/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_01/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_01/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_01/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_01/pubspec.yaml b/cupertino_store/step_01/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_01/pubspec.yaml +++ b/cupertino_store/step_01/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_02/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_02/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_02/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_02/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_02/pubspec.yaml b/cupertino_store/step_02/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_02/pubspec.yaml +++ b/cupertino_store/step_02/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_03/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_03/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_03/pubspec.yaml b/cupertino_store/step_03/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_03/pubspec.yaml +++ b/cupertino_store/step_03/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_04/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_04/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_04/pubspec.yaml b/cupertino_store/step_04/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_04/pubspec.yaml +++ b/cupertino_store/step_04/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_05/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_05/ios/Runner.xcodeproj/project.pbxproj index 67fe079014..e3269921f6 100644 --- a/cupertino_store/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_05/pubspec.yaml b/cupertino_store/step_05/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_05/pubspec.yaml +++ b/cupertino_store/step_05/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/cupertino_store/step_06/ios/Runner.xcodeproj/project.pbxproj b/cupertino_store/step_06/ios/Runner.xcodeproj/project.pbxproj index 5c55419824..3f305ffa7c 100644 --- a/cupertino_store/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/cupertino_store/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/cupertino_store/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/cupertino_store/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/cupertino_store/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/cupertino_store/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/cupertino_store/step_06/pubspec.yaml b/cupertino_store/step_06/pubspec.yaml index b309e48c4d..11d54de70e 100644 --- a/cupertino_store/step_06/pubspec.yaml +++ b/cupertino_store/step_06/pubspec.yaml @@ -34,7 +34,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/dart-patterns-and-records/codelab_rebuild.yaml b/dart-patterns-and-records/codelab_rebuild.yaml index e065895cc4..e37ec25058 100644 --- a/dart-patterns-and-records/codelab_rebuild.yaml +++ b/dart-patterns-and-records/codelab_rebuild.yaml @@ -66,7 +66,7 @@ steps: version: 0.1.0 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/dart-patterns-and-records/step_03/android/app/build.gradle b/dart-patterns-and-records/step_03/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_03/android/app/build.gradle +++ b/dart-patterns-and-records/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_03/android/settings.gradle b/dart-patterns-and-records/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_03/android/settings.gradle +++ b/dart-patterns-and-records/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_03/windows/CMakeLists.txt b/dart-patterns-and-records/step_03/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_03/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_03/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_03/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_04/android/app/build.gradle b/dart-patterns-and-records/step_04/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_04/android/app/build.gradle +++ b/dart-patterns-and-records/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_04/android/settings.gradle b/dart-patterns-and-records/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_04/android/settings.gradle +++ b/dart-patterns-and-records/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_04/windows/CMakeLists.txt b/dart-patterns-and-records/step_04/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_04/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_04/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_04/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_05/android/app/build.gradle b/dart-patterns-and-records/step_05/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_05/android/app/build.gradle +++ b/dart-patterns-and-records/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_05/android/settings.gradle b/dart-patterns-and-records/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_05/android/settings.gradle +++ b/dart-patterns-and-records/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_05/windows/CMakeLists.txt b/dart-patterns-and-records/step_05/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_05/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_05/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_05/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_06_a/android/app/build.gradle b/dart-patterns-and-records/step_06_a/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_06_a/android/app/build.gradle +++ b/dart-patterns-and-records/step_06_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_06_a/android/settings.gradle b/dart-patterns-and-records/step_06_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_06_a/android/settings.gradle +++ b/dart-patterns-and-records/step_06_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_06_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_06_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_06_a/windows/CMakeLists.txt b/dart-patterns-and-records/step_06_a/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_06_a/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_06_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_06_a/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_06_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_06_a/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_06_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_06_b/android/app/build.gradle b/dart-patterns-and-records/step_06_b/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_06_b/android/app/build.gradle +++ b/dart-patterns-and-records/step_06_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_06_b/android/settings.gradle b/dart-patterns-and-records/step_06_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_06_b/android/settings.gradle +++ b/dart-patterns-and-records/step_06_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_06_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_06_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_06_b/windows/CMakeLists.txt b/dart-patterns-and-records/step_06_b/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_06_b/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_06_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_06_b/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_06_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_06_b/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_06_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_07_a/android/app/build.gradle b/dart-patterns-and-records/step_07_a/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_07_a/android/app/build.gradle +++ b/dart-patterns-and-records/step_07_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_07_a/android/settings.gradle b/dart-patterns-and-records/step_07_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_07_a/android/settings.gradle +++ b/dart-patterns-and-records/step_07_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_07_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_07_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_07_a/windows/CMakeLists.txt b/dart-patterns-and-records/step_07_a/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_07_a/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_07_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_07_a/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_07_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_07_a/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_07_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_07_b/android/app/build.gradle b/dart-patterns-and-records/step_07_b/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_07_b/android/app/build.gradle +++ b/dart-patterns-and-records/step_07_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_07_b/android/settings.gradle b/dart-patterns-and-records/step_07_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_07_b/android/settings.gradle +++ b/dart-patterns-and-records/step_07_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_07_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_07_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_07_b/windows/CMakeLists.txt b/dart-patterns-and-records/step_07_b/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_07_b/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_07_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_07_b/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_07_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_07_b/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_07_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_08/android/app/build.gradle b/dart-patterns-and-records/step_08/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_08/android/app/build.gradle +++ b/dart-patterns-and-records/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_08/android/settings.gradle b/dart-patterns-and-records/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_08/android/settings.gradle +++ b/dart-patterns-and-records/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_08/windows/CMakeLists.txt b/dart-patterns-and-records/step_08/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_08/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_08/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_08/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_08/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_08/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_08/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_09/android/app/build.gradle b/dart-patterns-and-records/step_09/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_09/android/app/build.gradle +++ b/dart-patterns-and-records/step_09/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_09/android/settings.gradle b/dart-patterns-and-records/step_09/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_09/android/settings.gradle +++ b/dart-patterns-and-records/step_09/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_09/windows/CMakeLists.txt b/dart-patterns-and-records/step_09/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_09/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_09/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_09/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_09/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_09/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_09/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_10/android/app/build.gradle b/dart-patterns-and-records/step_10/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_10/android/app/build.gradle +++ b/dart-patterns-and-records/step_10/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_10/android/settings.gradle b/dart-patterns-and-records/step_10/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_10/android/settings.gradle +++ b/dart-patterns-and-records/step_10/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_10/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_10/windows/CMakeLists.txt b/dart-patterns-and-records/step_10/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_10/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_10/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_10/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_10/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_10/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_10/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_11_a/android/app/build.gradle b/dart-patterns-and-records/step_11_a/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_11_a/android/app/build.gradle +++ b/dart-patterns-and-records/step_11_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_11_a/android/settings.gradle b/dart-patterns-and-records/step_11_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_11_a/android/settings.gradle +++ b/dart-patterns-and-records/step_11_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_11_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_11_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_11_a/windows/CMakeLists.txt b/dart-patterns-and-records/step_11_a/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_11_a/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_11_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_11_a/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_11_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_11_a/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_11_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_11_b/android/app/build.gradle b/dart-patterns-and-records/step_11_b/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_11_b/android/app/build.gradle +++ b/dart-patterns-and-records/step_11_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_11_b/android/settings.gradle b/dart-patterns-and-records/step_11_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_11_b/android/settings.gradle +++ b/dart-patterns-and-records/step_11_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_11_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_11_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_11_b/windows/CMakeLists.txt b/dart-patterns-and-records/step_11_b/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_11_b/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_11_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_11_b/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_11_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_11_b/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_11_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dart-patterns-and-records/step_12/android/app/build.gradle b/dart-patterns-and-records/step_12/android/app/build.gradle index 0c4590b110..1dbbb4e5b9 100644 --- a/dart-patterns-and-records/step_12/android/app/build.gradle +++ b/dart-patterns-and-records/step_12/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.patterns_codelab" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/dart-patterns-and-records/step_12/android/settings.gradle b/dart-patterns-and-records/step_12/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/dart-patterns-and-records/step_12/android/settings.gradle +++ b/dart-patterns-and-records/step_12/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/project.pbxproj index 7065e6dda5..9bc5715f3c 100644 --- a/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/project.pbxproj b/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/project.pbxproj index 7942b1aff0..9a1cffaf53 100644 --- a/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/project.pbxproj +++ b/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7fa49d2595..c46303ce52 100644 --- a/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/dart-patterns-and-records/step_12/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/dart-patterns-and-records/step_12/windows/CMakeLists.txt b/dart-patterns-and-records/step_12/windows/CMakeLists.txt index 6c20a37e77..90da4e54cb 100644 --- a/dart-patterns-and-records/step_12/windows/CMakeLists.txt +++ b/dart-patterns-and-records/step_12/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "patterns_codelab") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/dart-patterns-and-records/step_12/windows/runner/flutter_window.cpp b/dart-patterns-and-records/step_12/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/dart-patterns-and-records/step_12/windows/runner/flutter_window.cpp +++ b/dart-patterns-and-records/step_12/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/dartpad_codelabs/pubspec.yaml b/dartpad_codelabs/pubspec.yaml index 22f1340d48..009358aff2 100644 --- a/dartpad_codelabs/pubspec.yaml +++ b/dartpad_codelabs/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/deeplink_cookbook/pubspec.yaml b/deeplink_cookbook/pubspec.yaml index 66ff83ba9f..6f3adef224 100644 --- a/deeplink_cookbook/pubspec.yaml +++ b/deeplink_cookbook/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/ffigen_codelab/step_03/android/build.gradle b/ffigen_codelab/step_03/android/build.gradle index acf806fa91..a8d37bdbc5 100644 --- a/ffigen_codelab/step_03/android/build.gradle +++ b/ffigen_codelab/step_03/android/build.gradle @@ -25,9 +25,13 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { + if (project.android.hasProperty("namespace")) { + namespace 'com.example.ffigen_app' + } + // Bumping the plugin compileSdkVersion requires all clients of this plugin // to bump the version in their app. - compileSdkVersion 31 + compileSdkVersion 33 // Bumping the plugin ndkVersion requires all clients of this plugin to bump // the version in their app and to download a newer version of the NDK. @@ -54,6 +58,6 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 19 } } diff --git a/ffigen_codelab/step_03/example/android/app/build.gradle b/ffigen_codelab/step_03/example/android/app/build.gradle index 352ef5bc28..c378c89dea 100644 --- a/ffigen_codelab/step_03/example/android/app/build.gradle +++ b/ffigen_codelab/step_03/example/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.ffigen_app_example" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/ffigen_codelab/step_03/example/android/settings.gradle b/ffigen_codelab/step_03/example/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/ffigen_codelab/step_03/example/android/settings.gradle +++ b/ffigen_codelab/step_03/example/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/project.pbxproj index 530f30ed1f..6190e958ce 100644 --- a/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,11 +11,11 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */; }; + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */; }; + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -44,16 +44,16 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12C4C75EFEB71031BEBDDA65 /* Frameworks */ = { + 6EF1911098B392AFECB2D01B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */, + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,42 +80,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */, + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 01CF69031E6C05D26AC25870 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */, + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 5BC47EE2C6BF6778B8407F37 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */, - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */, - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */, - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */, - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */, - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; - 90B7A7979C002FD504952CEE /* Frameworks */ = { + 89275E381990119C51C2ACB1 /* Pods */ = { isa = PBXGroup; children = ( - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */, - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */, + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */, + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */, + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */, + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */, + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */, + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 5BC47EE2C6BF6778B8407F37 /* Pods */, - 90B7A7979C002FD504952CEE /* Frameworks */, + 89275E381990119C51C2ACB1 /* Pods */, + 01CF69031E6C05D26AC25870 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */, + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 12C4C75EFEB71031BEBDDA65 /* Frameworks */, + 6EF1911098B392AFECB2D01B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */, + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */, + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,43 +270,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -322,24 +318,29 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */ = { + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */ = { + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_03/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/project.pbxproj index 1b0ae46c38..ba54156de0 100644 --- a/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */; }; - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */; }; + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */; }; + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE40B9ED96D56733327C1318 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */, + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */, + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - D90C787D4B97AF609ADDA881 /* Pods */, + A3480EA4093238DCBB6A2811 /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + A3480EA4093238DCBB6A2811 /* Pods */ = { isa = PBXGroup; children = ( - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */, - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */, + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */, + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */, + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */, + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */, + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */, + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - D90C787D4B97AF609ADDA881 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */, - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */, - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */, - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */, - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */, - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */, + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */, + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */, + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */, + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */, + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,6 +322,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -360,7 +377,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */ = { + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -382,24 +399,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */ = { + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 19533c99f9..ef84f5193a 100644 --- a/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_03/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.6 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/ffigen_codelab/step_03/example/windows/CMakeLists.txt b/ffigen_codelab/step_03/example/windows/CMakeLists.txt index c7a6c677d5..7aa9316312 100644 --- a/ffigen_codelab/step_03/example/windows/CMakeLists.txt +++ b/ffigen_codelab/step_03/example/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "ffigen_app_example") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/ffigen_codelab/step_03/example/windows/runner/flutter_window.cpp b/ffigen_codelab/step_03/example/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/ffigen_codelab/step_03/example/windows/runner/flutter_window.cpp +++ b/ffigen_codelab/step_03/example/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/ffigen_codelab/step_03/pubspec.yaml b/ffigen_codelab/step_03/pubspec.yaml index 244695d413..3f613f614a 100644 --- a/ffigen_codelab/step_03/pubspec.yaml +++ b/ffigen_codelab/step_03/pubspec.yaml @@ -4,8 +4,8 @@ version: 0.0.1 homepage: environment: - sdk: '>=3.0.6 <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.1.0-0 + flutter: '>=3.3.0' dependencies: flutter: diff --git a/ffigen_codelab/step_05/android/build.gradle b/ffigen_codelab/step_05/android/build.gradle index acf806fa91..a8d37bdbc5 100644 --- a/ffigen_codelab/step_05/android/build.gradle +++ b/ffigen_codelab/step_05/android/build.gradle @@ -25,9 +25,13 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { + if (project.android.hasProperty("namespace")) { + namespace 'com.example.ffigen_app' + } + // Bumping the plugin compileSdkVersion requires all clients of this plugin // to bump the version in their app. - compileSdkVersion 31 + compileSdkVersion 33 // Bumping the plugin ndkVersion requires all clients of this plugin to bump // the version in their app and to download a newer version of the NDK. @@ -54,6 +58,6 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 19 } } diff --git a/ffigen_codelab/step_05/example/android/app/build.gradle b/ffigen_codelab/step_05/example/android/app/build.gradle index 352ef5bc28..c378c89dea 100644 --- a/ffigen_codelab/step_05/example/android/app/build.gradle +++ b/ffigen_codelab/step_05/example/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.ffigen_app_example" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/ffigen_codelab/step_05/example/android/settings.gradle b/ffigen_codelab/step_05/example/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/ffigen_codelab/step_05/example/android/settings.gradle +++ b/ffigen_codelab/step_05/example/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/project.pbxproj index 530f30ed1f..6190e958ce 100644 --- a/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,11 +11,11 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */; }; + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */; }; + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -44,16 +44,16 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12C4C75EFEB71031BEBDDA65 /* Frameworks */ = { + 6EF1911098B392AFECB2D01B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */, + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,42 +80,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */, + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 01CF69031E6C05D26AC25870 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */, + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 5BC47EE2C6BF6778B8407F37 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */, - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */, - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */, - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */, - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */, - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; - 90B7A7979C002FD504952CEE /* Frameworks */ = { + 89275E381990119C51C2ACB1 /* Pods */ = { isa = PBXGroup; children = ( - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */, - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */, + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */, + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */, + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */, + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */, + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */, + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 5BC47EE2C6BF6778B8407F37 /* Pods */, - 90B7A7979C002FD504952CEE /* Frameworks */, + 89275E381990119C51C2ACB1 /* Pods */, + 01CF69031E6C05D26AC25870 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */, + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 12C4C75EFEB71031BEBDDA65 /* Frameworks */, + 6EF1911098B392AFECB2D01B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */, + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */, + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,43 +270,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -322,24 +318,29 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */ = { + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */ = { + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_05/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/project.pbxproj index 1b0ae46c38..ba54156de0 100644 --- a/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */; }; - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */; }; + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */; }; + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE40B9ED96D56733327C1318 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */, + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */, + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - D90C787D4B97AF609ADDA881 /* Pods */, + A3480EA4093238DCBB6A2811 /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + A3480EA4093238DCBB6A2811 /* Pods */ = { isa = PBXGroup; children = ( - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */, - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */, + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */, + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */, + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */, + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */, + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */, + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - D90C787D4B97AF609ADDA881 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */, - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */, - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */, - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */, - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */, - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */, + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */, + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */, + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */, + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */, + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,6 +322,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -360,7 +377,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */ = { + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -382,24 +399,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */ = { + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 19533c99f9..ef84f5193a 100644 --- a/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_05/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.6 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/ffigen_codelab/step_05/example/windows/CMakeLists.txt b/ffigen_codelab/step_05/example/windows/CMakeLists.txt index c7a6c677d5..7aa9316312 100644 --- a/ffigen_codelab/step_05/example/windows/CMakeLists.txt +++ b/ffigen_codelab/step_05/example/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "ffigen_app_example") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/ffigen_codelab/step_05/example/windows/runner/flutter_window.cpp b/ffigen_codelab/step_05/example/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/ffigen_codelab/step_05/example/windows/runner/flutter_window.cpp +++ b/ffigen_codelab/step_05/example/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/ffigen_codelab/step_05/lib/duktape_bindings_generated.dart b/ffigen_codelab/step_05/lib/duktape_bindings_generated.dart index a70628d34f..76deda4e9a 100644 --- a/ffigen_codelab/step_05/lib/duktape_bindings_generated.dart +++ b/ffigen_codelab/step_05/lib/duktape_bindings_generated.dart @@ -5153,6 +5153,9 @@ class DuktapeBindings { /// where e.g. 'int' is a 16-bit type. See practical typing discussion /// in Duktape web documentation. final class duk_thread_state extends ffi.Struct { + /// XXX: Enough space to hold internal suspend/resume structure. + /// This is rather awkward and to be fixed when the internal + /// structure is visible for the public API header. @ffi.Array.multi([128]) external ffi.Array data; } diff --git a/ffigen_codelab/step_05/pubspec.yaml b/ffigen_codelab/step_05/pubspec.yaml index 2df979cf0d..6c06243c6f 100644 --- a/ffigen_codelab/step_05/pubspec.yaml +++ b/ffigen_codelab/step_05/pubspec.yaml @@ -4,8 +4,8 @@ version: 0.0.1 homepage: environment: - sdk: '>=3.0.6 <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.1.0-0 + flutter: '>=3.3.0' dependencies: ffi: ^2.0.2 @@ -14,7 +14,7 @@ dependencies: plugin_platform_interface: ^2.0.2 dev_dependencies: - ffigen: ^9.0.0 + ffigen: ^9.0.1 flutter_test: sdk: flutter flutter_lints: ^2.0.0 diff --git a/ffigen_codelab/step_06/android/build.gradle b/ffigen_codelab/step_06/android/build.gradle index acf806fa91..a8d37bdbc5 100644 --- a/ffigen_codelab/step_06/android/build.gradle +++ b/ffigen_codelab/step_06/android/build.gradle @@ -25,9 +25,13 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { + if (project.android.hasProperty("namespace")) { + namespace 'com.example.ffigen_app' + } + // Bumping the plugin compileSdkVersion requires all clients of this plugin // to bump the version in their app. - compileSdkVersion 31 + compileSdkVersion 33 // Bumping the plugin ndkVersion requires all clients of this plugin to bump // the version in their app and to download a newer version of the NDK. @@ -54,6 +58,6 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 19 } } diff --git a/ffigen_codelab/step_06/example/android/app/build.gradle b/ffigen_codelab/step_06/example/android/app/build.gradle index 352ef5bc28..c378c89dea 100644 --- a/ffigen_codelab/step_06/example/android/app/build.gradle +++ b/ffigen_codelab/step_06/example/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.ffigen_app_example" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/ffigen_codelab/step_06/example/android/settings.gradle b/ffigen_codelab/step_06/example/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/ffigen_codelab/step_06/example/android/settings.gradle +++ b/ffigen_codelab/step_06/example/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/project.pbxproj index 530f30ed1f..6190e958ce 100644 --- a/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,11 +11,11 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */; }; + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */; }; + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -44,16 +44,16 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12C4C75EFEB71031BEBDDA65 /* Frameworks */ = { + 6EF1911098B392AFECB2D01B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */, + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,42 +80,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */, + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 01CF69031E6C05D26AC25870 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */, + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 5BC47EE2C6BF6778B8407F37 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */, - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */, - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */, - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */, - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */, - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; - 90B7A7979C002FD504952CEE /* Frameworks */ = { + 89275E381990119C51C2ACB1 /* Pods */ = { isa = PBXGroup; children = ( - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */, - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */, + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */, + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */, + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */, + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */, + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */, + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 5BC47EE2C6BF6778B8407F37 /* Pods */, - 90B7A7979C002FD504952CEE /* Frameworks */, + 89275E381990119C51C2ACB1 /* Pods */, + 01CF69031E6C05D26AC25870 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */, + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 12C4C75EFEB71031BEBDDA65 /* Frameworks */, + 6EF1911098B392AFECB2D01B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */, + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */, + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,43 +270,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -322,24 +318,29 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */ = { + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */ = { + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_06/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/project.pbxproj index 1b0ae46c38..ba54156de0 100644 --- a/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */; }; - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */; }; + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */; }; + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE40B9ED96D56733327C1318 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */, + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */, + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - D90C787D4B97AF609ADDA881 /* Pods */, + A3480EA4093238DCBB6A2811 /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + A3480EA4093238DCBB6A2811 /* Pods */ = { isa = PBXGroup; children = ( - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */, - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */, + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */, + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */, + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */, + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */, + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */, + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - D90C787D4B97AF609ADDA881 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */, - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */, - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */, - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */, - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */, - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */, + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */, + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */, + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */, + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */, + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,6 +322,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -360,7 +377,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */ = { + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -382,24 +399,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */ = { + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 19533c99f9..ef84f5193a 100644 --- a/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_06/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.6 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/ffigen_codelab/step_06/example/windows/CMakeLists.txt b/ffigen_codelab/step_06/example/windows/CMakeLists.txt index c7a6c677d5..7aa9316312 100644 --- a/ffigen_codelab/step_06/example/windows/CMakeLists.txt +++ b/ffigen_codelab/step_06/example/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "ffigen_app_example") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/ffigen_codelab/step_06/example/windows/runner/flutter_window.cpp b/ffigen_codelab/step_06/example/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/ffigen_codelab/step_06/example/windows/runner/flutter_window.cpp +++ b/ffigen_codelab/step_06/example/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/ffigen_codelab/step_06/lib/duktape_bindings_generated.dart b/ffigen_codelab/step_06/lib/duktape_bindings_generated.dart index a70628d34f..76deda4e9a 100644 --- a/ffigen_codelab/step_06/lib/duktape_bindings_generated.dart +++ b/ffigen_codelab/step_06/lib/duktape_bindings_generated.dart @@ -5153,6 +5153,9 @@ class DuktapeBindings { /// where e.g. 'int' is a 16-bit type. See practical typing discussion /// in Duktape web documentation. final class duk_thread_state extends ffi.Struct { + /// XXX: Enough space to hold internal suspend/resume structure. + /// This is rather awkward and to be fixed when the internal + /// structure is visible for the public API header. @ffi.Array.multi([128]) external ffi.Array data; } diff --git a/ffigen_codelab/step_06/pubspec.yaml b/ffigen_codelab/step_06/pubspec.yaml index 2df979cf0d..6c06243c6f 100644 --- a/ffigen_codelab/step_06/pubspec.yaml +++ b/ffigen_codelab/step_06/pubspec.yaml @@ -4,8 +4,8 @@ version: 0.0.1 homepage: environment: - sdk: '>=3.0.6 <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.1.0-0 + flutter: '>=3.3.0' dependencies: ffi: ^2.0.2 @@ -14,7 +14,7 @@ dependencies: plugin_platform_interface: ^2.0.2 dev_dependencies: - ffigen: ^9.0.0 + ffigen: ^9.0.1 flutter_test: sdk: flutter flutter_lints: ^2.0.0 diff --git a/ffigen_codelab/step_07/android/build.gradle b/ffigen_codelab/step_07/android/build.gradle index acf806fa91..a8d37bdbc5 100644 --- a/ffigen_codelab/step_07/android/build.gradle +++ b/ffigen_codelab/step_07/android/build.gradle @@ -25,9 +25,13 @@ rootProject.allprojects { apply plugin: 'com.android.library' android { + if (project.android.hasProperty("namespace")) { + namespace 'com.example.ffigen_app' + } + // Bumping the plugin compileSdkVersion requires all clients of this plugin // to bump the version in their app. - compileSdkVersion 31 + compileSdkVersion 33 // Bumping the plugin ndkVersion requires all clients of this plugin to bump // the version in their app and to download a newer version of the NDK. @@ -54,6 +58,6 @@ android { } defaultConfig { - minSdkVersion 16 + minSdkVersion 19 } } diff --git a/ffigen_codelab/step_07/example/android/app/build.gradle b/ffigen_codelab/step_07/example/android/app/build.gradle index 352ef5bc28..c378c89dea 100644 --- a/ffigen_codelab/step_07/example/android/app/build.gradle +++ b/ffigen_codelab/step_07/example/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.ffigen_app_example" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/ffigen_codelab/step_07/example/android/settings.gradle b/ffigen_codelab/step_07/example/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/ffigen_codelab/step_07/example/android/settings.gradle +++ b/ffigen_codelab/step_07/example/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/project.pbxproj index 530f30ed1f..6190e958ce 100644 --- a/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/project.pbxproj @@ -11,11 +11,11 @@ 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */; }; + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */; }; + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -44,16 +44,16 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -61,18 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 12C4C75EFEB71031BEBDDA65 /* Frameworks */ = { + 6EF1911098B392AFECB2D01B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D93BEB679DFDFB75E8D0D47C /* Pods_RunnerTests.framework in Frameworks */, + E414190BE110AAB44A541F95 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,42 +80,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 88450A69E75BD92E57FE7B90 /* Pods_Runner.framework in Frameworks */, + BA86F9751FB5B95ABFE5B233 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 01CF69031E6C05D26AC25870 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + EA13AF6DF41770E28B548EB1 /* Pods_Runner.framework */, + 623CB3312E1276BB3EAAF673 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 5BC47EE2C6BF6778B8407F37 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - E62ECC3DD38452EEE738665E /* Pods-Runner.debug.xcconfig */, - EAE1360D54012B10AD770076 /* Pods-Runner.release.xcconfig */, - C07D92CC6D6879EEB5C657DE /* Pods-Runner.profile.xcconfig */, - 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */, - 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */, - 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; - 90B7A7979C002FD504952CEE /* Frameworks */ = { + 89275E381990119C51C2ACB1 /* Pods */ = { isa = PBXGroup; children = ( - 1DD50519C9B88DF13D35FF46 /* Pods_Runner.framework */, - FB30D3968B01F42BB7AAAD95 /* Pods_RunnerTests.framework */, + EC9A41DEE2558BB2883EA0FD /* Pods-Runner.debug.xcconfig */, + 7DE7DCF8CA63B98C319ADFA4 /* Pods-Runner.release.xcconfig */, + FD16EC91B410CBC1977D9708 /* Pods-Runner.profile.xcconfig */, + 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */, + 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */, + FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 5BC47EE2C6BF6778B8407F37 /* Pods */, - 90B7A7979C002FD504952CEE /* Frameworks */, + 89275E381990119C51C2ACB1 /* Pods */, + 01CF69031E6C05D26AC25870 /* Frameworks */, ); sourceTree = ""; }; @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */, + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 12C4C75EFEB71031BEBDDA65 /* Frameworks */, + 6EF1911098B392AFECB2D01B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */, + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */, + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,43 +270,38 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 1D3879BD92BA6D28549CD8E6 /* [CP] Check Pods Manifest.lock */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 4E284FBC66423CE48047DF1C /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "Thin Binary"; - outputPaths = ( + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -322,24 +318,29 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A7535F163F067D24112A1C90 /* [CP] Embed Pods Frameworks */ = { + C6AF313EDBD4BDF906DA4D58 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - AC3CBBFDBF0C76F080A717F9 /* [CP] Check Pods Manifest.lock */ = { + D0AFFAD6C47B956C317BBF31 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -354,7 +355,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F59AD985E14574E8EA03446 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 373B84050957A93C5E5F30A4 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1FAE71832FAF310BCF281922 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 14B77CCF15DEF273E18290FA /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 156F9A7B27CE5AFBE6EBF0E3 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = FD8EEEEA62FE064568656EB1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_07/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/project.pbxproj b/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/project.pbxproj index 1b0ae46c38..ba54156de0 100644 --- a/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/project.pbxproj +++ b/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */; }; - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */; }; + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */; }; + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DE40B9ED96D56733327C1318 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - BB8DECC0FC6B892329B1F6C5 /* Pods_RunnerTests.framework in Frameworks */, + 786BE1056879FFF31A06B090 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - CABB7AC569BA85690BEC2A3D /* Pods_Runner.framework in Frameworks */, + E7A48EF859C99EFBBFF396AC /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - D90C787D4B97AF609ADDA881 /* Pods */, + A3480EA4093238DCBB6A2811 /* Pods */, ); sourceTree = ""; }; @@ -185,27 +185,27 @@ path = Runner; sourceTree = ""; }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { + A3480EA4093238DCBB6A2811 /* Pods */ = { isa = PBXGroup; children = ( - B7E36AF0C707806F0310EA84 /* Pods_Runner.framework */, - DB50ADE713627D930A6F71F4 /* Pods_RunnerTests.framework */, + 4AD7553512164C04DB0FCBD0 /* Pods-Runner.debug.xcconfig */, + F77F05EABBDC41F8C3CF8273 /* Pods-Runner.release.xcconfig */, + 2B67CC16799998367066BDA3 /* Pods-Runner.profile.xcconfig */, + 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */, + 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */, + BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; - D90C787D4B97AF609ADDA881 /* Pods */ = { + D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 0BB4724A82A5E762828C2C3A /* Pods-Runner.debug.xcconfig */, - 2EC7BFF8BBFE45F0C2E9DAE4 /* Pods-Runner.release.xcconfig */, - 6ECEFE8C6E75585B96B7F762 /* Pods-Runner.profile.xcconfig */, - D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */, - 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */, - C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */, + DE40B9ED96D56733327C1318 /* Pods_Runner.framework */, + EF94DEE360E6AE0F399C8BB2 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */, + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */, + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */, + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,6 +322,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 19ABD0F0629DF21D6D310F47 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -360,7 +377,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 8BC6C2DDE5274507904179A7 /* [CP] Check Pods Manifest.lock */ = { + C1EA7806DAEE800BE88D5213 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -382,24 +399,7 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - BA600A38A588831F252DCA07 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - F28788E573CFDFD9D197BB1C /* [CP] Check Pods Manifest.lock */ = { + D0C114C1972B354366754918 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D3FBCC40E9DC5AAD54BA2154 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9B011BCF69870A0586AC0440 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 450C9C1154E85ABAA6ACEAFD /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 3997B369B292C31CB4E3B43B /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C56A42708694137F8A29E5FA /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BCE0E748DDE04C9E67EDDD66 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 19533c99f9..ef84f5193a 100644 --- a/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ffigen_codelab/step_07/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.6 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/ffigen_codelab/step_07/example/windows/CMakeLists.txt b/ffigen_codelab/step_07/example/windows/CMakeLists.txt index c7a6c677d5..7aa9316312 100644 --- a/ffigen_codelab/step_07/example/windows/CMakeLists.txt +++ b/ffigen_codelab/step_07/example/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "ffigen_app_example") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/ffigen_codelab/step_07/example/windows/runner/flutter_window.cpp b/ffigen_codelab/step_07/example/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/ffigen_codelab/step_07/example/windows/runner/flutter_window.cpp +++ b/ffigen_codelab/step_07/example/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/ffigen_codelab/step_07/lib/duktape_bindings_generated.dart b/ffigen_codelab/step_07/lib/duktape_bindings_generated.dart index a70628d34f..76deda4e9a 100644 --- a/ffigen_codelab/step_07/lib/duktape_bindings_generated.dart +++ b/ffigen_codelab/step_07/lib/duktape_bindings_generated.dart @@ -5153,6 +5153,9 @@ class DuktapeBindings { /// where e.g. 'int' is a 16-bit type. See practical typing discussion /// in Duktape web documentation. final class duk_thread_state extends ffi.Struct { + /// XXX: Enough space to hold internal suspend/resume structure. + /// This is rather awkward and to be fixed when the internal + /// structure is visible for the public API header. @ffi.Array.multi([128]) external ffi.Array data; } diff --git a/ffigen_codelab/step_07/pubspec.yaml b/ffigen_codelab/step_07/pubspec.yaml index 4445bb0de9..5a570b4bbc 100644 --- a/ffigen_codelab/step_07/pubspec.yaml +++ b/ffigen_codelab/step_07/pubspec.yaml @@ -4,8 +4,8 @@ version: 0.0.1 homepage: environment: - sdk: '>=3.0.6 <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.1.0-0 + flutter: '>=3.3.0' dependencies: ffi: ^2.0.2 @@ -15,7 +15,7 @@ dependencies: plugin_platform_interface: ^2.0.2 dev_dependencies: - ffigen: ^9.0.0 + ffigen: ^9.0.1 flutter_test: sdk: flutter flutter_lints: ^2.0.0 diff --git a/firebase-auth-flutterfire-ui/codelab_rebuild.yaml b/firebase-auth-flutterfire-ui/codelab_rebuild.yaml index 94c091dc01..f7b01fafad 100644 --- a/firebase-auth-flutterfire-ui/codelab_rebuild.yaml +++ b/firebase-auth-flutterfire-ui/codelab_rebuild.yaml @@ -212,7 +212,7 @@ steps: + diff --git a/firebase-auth-flutterfire-ui/complete/windows/CMakeLists.txt b/firebase-auth-flutterfire-ui/complete/windows/CMakeLists.txt index 48ef018e93..7663339f85 100644 --- a/firebase-auth-flutterfire-ui/complete/windows/CMakeLists.txt +++ b/firebase-auth-flutterfire-ui/complete/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "complete") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/firebase-auth-flutterfire-ui/complete/windows/runner/flutter_window.cpp b/firebase-auth-flutterfire-ui/complete/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/firebase-auth-flutterfire-ui/complete/windows/runner/flutter_window.cpp +++ b/firebase-auth-flutterfire-ui/complete/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/firebase-auth-flutterfire-ui/start/android/app/build.gradle b/firebase-auth-flutterfire-ui/start/android/app/build.gradle index 5b611145cd..a291893125 100644 --- a/firebase-auth-flutterfire-ui/start/android/app/build.gradle +++ b/firebase-auth-flutterfire-ui/start/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.complete" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-auth-flutterfire-ui/start/android/settings.gradle b/firebase-auth-flutterfire-ui/start/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-auth-flutterfire-ui/start/android/settings.gradle +++ b/firebase-auth-flutterfire-ui/start/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/project.pbxproj b/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/project.pbxproj index 6b91ffe602..0bca81da14 100644 --- a/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/project.pbxproj @@ -8,12 +8,14 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + CC91B28BFB7B3D8F1F21C777 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34F07E379869B3E1D59212A9 /* Pods_Runner.framework */; }; + F882C14E85466D0F694C6F0C /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 502C573A3C814B2A587E22F6 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -40,9 +42,18 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0DAD929A87FF58B9B62DBB05 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 34F07E379869B3E1D59212A9 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 42745199B9DBF89DA8B93011 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 44DD9E05A5762FF6756662FD /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 4706BA9A1D3431ABB541580C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 478C71042BF1176D90613401 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 502C573A3C814B2A587E22F6 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -53,8 +64,7 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + D1C5D5AC786409B87A336583 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -62,12 +72,43 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + CC91B28BFB7B3D8F1F21C777 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D0C52872E0431EF60EF6B775 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F882C14E85466D0F694C6F0C /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 7A6AF6361CC3263616D482DE /* Pods */ = { + isa = PBXGroup; + children = ( + 0DAD929A87FF58B9B62DBB05 /* Pods-Runner.debug.xcconfig */, + 478C71042BF1176D90613401 /* Pods-Runner.release.xcconfig */, + 4706BA9A1D3431ABB541580C /* Pods-Runner.profile.xcconfig */, + D1C5D5AC786409B87A336583 /* Pods-RunnerTests.debug.xcconfig */, + 44DD9E05A5762FF6756662FD /* Pods-RunnerTests.release.xcconfig */, + 42745199B9DBF89DA8B93011 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -79,14 +120,6 @@ name = Flutter; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; 97C146E51CF9000F007C117D = { isa = PBXGroup; children = ( @@ -94,6 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, + 7A6AF6361CC3263616D482DE /* Pods */, + D3D6ADC62B46EE7118AB8803 /* Frameworks */, ); sourceTree = ""; }; @@ -121,6 +156,15 @@ path = Runner; sourceTree = ""; }; + D3D6ADC62B46EE7118AB8803 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 34F07E379869B3E1D59212A9 /* Pods_Runner.framework */, + 502C573A3C814B2A587E22F6 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -128,9 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + 3D50A2E2862B50BD5DC08403 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, - 331C807E294A63A400263BE5 /* Frameworks */, 331C807F294A63A400263BE5 /* Resources */, + D0C52872E0431EF60EF6B775 /* Frameworks */, ); buildRules = ( ); @@ -146,12 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + CD8C225EA8CB3A05A721E312 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + F88366E8BC4CAADDC2D74E78 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -168,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -238,6 +286,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 3D50A2E2862B50BD5DC08403 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -253,6 +323,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + CD8C225EA8CB3A05A721E312 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + F88366E8BC4CAADDC2D74E78 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -376,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AE0B7B92F70575B8D7E0D07E /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = D1C5D5AC786409B87A336583 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -394,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 89B67EB44CE7B6631473024E /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 44DD9E05A5762FF6756662FD /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -410,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 640959BDD8F10B91D80A66BE /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 42745199B9DBF89DA8B93011 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -610,4 +719,4 @@ /* End XCConfigurationList section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; -} \ No newline at end of file +} diff --git a/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-auth-flutterfire-ui/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/project.pbxproj b/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/project.pbxproj index 47f4363e6f..5a5f26b141 100644 --- a/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 96cd8f9171..cfc105c693 100644 --- a/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-auth-flutterfire-ui/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' dependencies: - cloud_firestore: ^4.7.0 - firebase_auth: ^4.6.0 - firebase_core: ^2.12.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 flutter: sdk: flutter flutterfire_ui: ^0.4.3+20 diff --git a/firebase-auth-flutterfire-ui/start/web/index.html b/firebase-auth-flutterfire-ui/start/web/index.html index e0b8cfc9d8..1487a6f437 100644 --- a/firebase-auth-flutterfire-ui/start/web/index.html +++ b/firebase-auth-flutterfire-ui/start/web/index.html @@ -36,7 +36,7 @@ diff --git a/firebase-auth-flutterfire-ui/start/windows/CMakeLists.txt b/firebase-auth-flutterfire-ui/start/windows/CMakeLists.txt index 48ef018e93..7663339f85 100644 --- a/firebase-auth-flutterfire-ui/start/windows/CMakeLists.txt +++ b/firebase-auth-flutterfire-ui/start/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "complete") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/firebase-auth-flutterfire-ui/start/windows/runner/flutter_window.cpp b/firebase-auth-flutterfire-ui/start/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/firebase-auth-flutterfire-ui/start/windows/runner/flutter_window.cpp +++ b/firebase-auth-flutterfire-ui/start/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/firebase-emulator-suite/codelab_rebuild.yaml b/firebase-emulator-suite/codelab_rebuild.yaml index 6a70e1ae03..db1d68bd8b 100644 --- a/firebase-emulator-suite/codelab_rebuild.yaml +++ b/firebase-emulator-suite/codelab_rebuild.yaml @@ -487,7 +487,7 @@ steps: patch-u: | --- b/firebase-emulator-suite/complete/android/app/build.gradle +++ a/firebase-emulator-suite/complete/android/app/build.gradle - @@ -48,7 +48,7 @@ android { + @@ -45,7 +45,7 @@ android { applicationId "com.example.complete" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. diff --git a/firebase-emulator-suite/complete/android/app/build.gradle b/firebase-emulator-suite/complete/android/app/build.gradle index 7d844a9f5a..ef4af25c40 100644 --- a/firebase-emulator-suite/complete/android/app/build.gradle +++ b/firebase-emulator-suite/complete/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.complete" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-emulator-suite/complete/android/settings.gradle b/firebase-emulator-suite/complete/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-emulator-suite/complete/android/settings.gradle +++ b/firebase-emulator-suite/complete/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-emulator-suite/complete/ios/Runner.xcodeproj/project.pbxproj b/firebase-emulator-suite/complete/ios/Runner.xcodeproj/project.pbxproj index 6b91ffe602..40c927fdb2 100644 --- a/firebase-emulator-suite/complete/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-emulator-suite/complete/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/firebase-emulator-suite/complete/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-emulator-suite/complete/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-emulator-suite/complete/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-emulator-suite/complete/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-emulator-suite/complete/macos/Runner.xcodeproj/project.pbxproj b/firebase-emulator-suite/complete/macos/Runner.xcodeproj/project.pbxproj index 47f4363e6f..5a5f26b141 100644 --- a/firebase-emulator-suite/complete/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-emulator-suite/complete/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/firebase-emulator-suite/complete/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-emulator-suite/complete/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 96cd8f9171..cfc105c693 100644 --- a/firebase-emulator-suite/complete/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-emulator-suite/complete/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,9 +36,9 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 go_router: ^10.0.0 - firebase_core: ^2.12.0 - firebase_auth: ^4.6.0 - cloud_firestore: ^4.7.0 + firebase_core: ^2.15.0 + firebase_auth: ^4.7.2 + cloud_firestore: ^4.8.4 dev_dependencies: flutter_test: diff --git a/firebase-emulator-suite/complete/web/index.html b/firebase-emulator-suite/complete/web/index.html index d9f1a3b696..587e0efd4a 100644 --- a/firebase-emulator-suite/complete/web/index.html +++ b/firebase-emulator-suite/complete/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-emulator-suite/start/android/app/build.gradle b/firebase-emulator-suite/start/android/app/build.gradle index 5b611145cd..a291893125 100644 --- a/firebase-emulator-suite/start/android/app/build.gradle +++ b/firebase-emulator-suite/start/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.complete" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-emulator-suite/start/android/settings.gradle b/firebase-emulator-suite/start/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-emulator-suite/start/android/settings.gradle +++ b/firebase-emulator-suite/start/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-emulator-suite/start/ios/Runner.xcodeproj/project.pbxproj b/firebase-emulator-suite/start/ios/Runner.xcodeproj/project.pbxproj index 6b91ffe602..40c927fdb2 100644 --- a/firebase-emulator-suite/start/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-emulator-suite/start/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/firebase-emulator-suite/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-emulator-suite/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-emulator-suite/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-emulator-suite/start/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-emulator-suite/start/macos/Runner.xcodeproj/project.pbxproj b/firebase-emulator-suite/start/macos/Runner.xcodeproj/project.pbxproj index 47f4363e6f..5a5f26b141 100644 --- a/firebase-emulator-suite/start/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-emulator-suite/start/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/firebase-emulator-suite/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-emulator-suite/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 96cd8f9171..cfc105c693 100644 --- a/firebase-emulator-suite/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-emulator-suite/start/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/firebase-emulator-suite/start/web/index.html b/firebase-emulator-suite/start/web/index.html index d9f1a3b696..587e0efd4a 100644 --- a/firebase-emulator-suite/start/web/index.html +++ b/firebase-emulator-suite/start/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/codelab_rebuild.yaml b/firebase-get-to-know-flutter/codelab_rebuild.yaml index 8b77b855d4..366ce23750 100644 --- a/firebase-get-to-know-flutter/codelab_rebuild.yaml +++ b/firebase-get-to-know-flutter/codelab_rebuild.yaml @@ -2,9 +2,9 @@ name: Get to know Firebase with Flutter steps: - name: step_02 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_02 - - name: Create project. + - name: Create project flutter: create gtk_flutter --platforms=ios,android,web,macos - name: Strip DEVELOPMENT_TEAM strip-lines-containing: DEVELOPMENT_TEAM = @@ -13,7 +13,7 @@ steps: path: gtk_flutter/analysis_options.yaml replace-contents: | include: ../../analysis_options.yaml - - name: Add dependencies. + - name: Add dependencies path: gtk_flutter flutter: pub add google_fonts:'>=4.0.0 < 6.0.0' go_router - name: Patch pubspec.yaml @@ -43,7 +43,7 @@ steps: patch-u: | --- b/firebase-get-to-know-flutter/step_02/android/app/build.gradle +++ a/firebase-get-to-know-flutter/step_02/android/app/build.gradle - @@ -48,7 +48,7 @@ android { + @@ -45,7 +45,7 @@ android { applicationId "com.example.gtk_flutter" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. @@ -52,7 +52,7 @@ steps: targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName - - name: Remove the README.md. + - name: Remove the README.md rm: gtk_flutter/README.md - name: VSCode config path: gtk_flutter @@ -1707,7 +1707,7 @@ steps: to: step_02 - name: step_04 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_04 - name: Update iOS podspec platforms: [ macos ] @@ -1820,7 +1820,7 @@ steps: to: step_04 - name: step_05 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_05 - name: Patch lib/main.dart path: gtk_flutter/lib/main.dart @@ -1898,7 +1898,7 @@ steps: + GoRoute( + path: 'forgot-password', + builder: (context, state) { - + final arguments = state.queryParameters; + + final arguments = state.uri.queryParameters; + return ForgotPasswordScreen( + email: arguments['email'], + headerMaxExtent: 200, @@ -2081,7 +2081,7 @@ steps: to: step_05 - name: step_06 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_06 - name: Patch lib/app_state.dart path: gtk_flutter/lib/app_state.dart @@ -2234,7 +2234,7 @@ steps: to: step_06 - name: step_07 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_07 - name: Patch lib/app_state.dart path: gtk_flutter/lib/app_state.dart @@ -2447,7 +2447,7 @@ steps: to: step_07 - name: step_09 steps: - - name: Remove generated code. + - name: Remove generated code rmdir: step_09 - name: Patch lib/src/authentication.dart path: gtk_flutter/lib/src/authentication.dart @@ -2732,7 +2732,7 @@ steps: ); }, ), - - name: Add + - name: Add lib/yes_no_selection.dart path: gtk_flutter/lib/yes_no_selection.dart replace-contents: | // Copyright 2022 The Flutter Authors. All rights reserved. diff --git a/firebase-get-to-know-flutter/step_02/android/app/build.gradle b/firebase-get-to-know-flutter/step_02/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_02/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_02/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_02/android/settings.gradle b/firebase-get-to-know-flutter/step_02/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_02/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_02/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/firebase-get-to-know-flutter/step_02/web/index.html b/firebase-get-to-know-flutter/step_02/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_02/web/index.html +++ b/firebase-get-to-know-flutter/step_02/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/step_04/android/app/build.gradle b/firebase-get-to-know-flutter/step_04/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_04/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_04/android/settings.gradle b/firebase-get-to-know-flutter/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_04/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -38,11 +38,11 @@ dependencies: cupertino_icons: ^1.0.2 google_fonts: ">=4.0.0 <6.0.0" go_router: ^10.0.0 - cloud_firestore: ^4.8.1 - firebase_auth: ^4.6.3 - firebase_core: ^2.14.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 provider: ^6.0.5 - firebase_ui_auth: ^1.4.3 + firebase_ui_auth: ^1.6.2 dev_dependencies: flutter_test: diff --git a/firebase-get-to-know-flutter/step_04/web/index.html b/firebase-get-to-know-flutter/step_04/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_04/web/index.html +++ b/firebase-get-to-know-flutter/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/step_05/android/app/build.gradle b/firebase-get-to-know-flutter/step_05/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_05/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_05/android/settings.gradle b/firebase-get-to-know-flutter/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_05/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -38,11 +38,11 @@ dependencies: cupertino_icons: ^1.0.2 google_fonts: ">=4.0.0 <6.0.0" go_router: ^10.0.0 - cloud_firestore: ^4.8.1 - firebase_auth: ^4.6.3 - firebase_core: ^2.14.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 provider: ^6.0.5 - firebase_ui_auth: ^1.4.3 + firebase_ui_auth: ^1.6.2 dev_dependencies: flutter_test: diff --git a/firebase-get-to-know-flutter/step_05/web/index.html b/firebase-get-to-know-flutter/step_05/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_05/web/index.html +++ b/firebase-get-to-know-flutter/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/step_06/android/app/build.gradle b/firebase-get-to-know-flutter/step_06/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_06/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_06/android/settings.gradle b/firebase-get-to-know-flutter/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_06/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -38,11 +38,11 @@ dependencies: cupertino_icons: ^1.0.2 google_fonts: ">=4.0.0 <6.0.0" go_router: ^10.0.0 - cloud_firestore: ^4.8.1 - firebase_auth: ^4.6.3 - firebase_core: ^2.14.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 provider: ^6.0.5 - firebase_ui_auth: ^1.4.3 + firebase_ui_auth: ^1.6.2 dev_dependencies: flutter_test: diff --git a/firebase-get-to-know-flutter/step_06/web/index.html b/firebase-get-to-know-flutter/step_06/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_06/web/index.html +++ b/firebase-get-to-know-flutter/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/step_07/android/app/build.gradle b/firebase-get-to-know-flutter/step_07/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_07/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_07/android/settings.gradle b/firebase-get-to-know-flutter/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_07/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -38,11 +38,11 @@ dependencies: cupertino_icons: ^1.0.2 google_fonts: ">=4.0.0 <6.0.0" go_router: ^10.0.0 - cloud_firestore: ^4.8.1 - firebase_auth: ^4.6.3 - firebase_core: ^2.14.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 provider: ^6.0.5 - firebase_ui_auth: ^1.4.3 + firebase_ui_auth: ^1.6.2 dev_dependencies: flutter_test: diff --git a/firebase-get-to-know-flutter/step_07/web/index.html b/firebase-get-to-know-flutter/step_07/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_07/web/index.html +++ b/firebase-get-to-know-flutter/step_07/web/index.html @@ -34,7 +34,7 @@ diff --git a/firebase-get-to-know-flutter/step_09/android/app/build.gradle b/firebase-get-to-know-flutter/step_09/android/app/build.gradle index 35def8acfa..96ee75db02 100644 --- a/firebase-get-to-know-flutter/step_09/android/app/build.gradle +++ b/firebase-get-to-know-flutter/step_09/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.gtk_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/firebase-get-to-know-flutter/step_09/android/settings.gradle b/firebase-get-to-know-flutter/step_09/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/firebase-get-to-know-flutter/step_09/android/settings.gradle +++ b/firebase-get-to-know-flutter/step_09/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/project.pbxproj index 8d99856975..84adb59c4b 100644 --- a/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -46,16 +46,16 @@ 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -63,50 +63,45 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 84759B2C1EE5D0B0BA41C118 /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7C080E5EE7F36AAEF7F452E6 /* Pods_RunnerTests.framework in Frameworks */, + A501A72BDDDE671C7F8C4663 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { + A925733CBC7A18CB78E8A431 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1030C3C656E6000E2E6029EE /* Pods_Runner.framework in Frameworks */, + 53121E65704E95730CCE770E /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 1906DC8E1EA7C7D77C535136 /* Frameworks */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + F33DD521CBC503FD4E5B2BA0 /* Pods_Runner.framework */, + A754DFB60B975D4B929EA802 /* Pods_RunnerTests.framework */, ); - path = RunnerTests; + name = Frameworks; sourceTree = ""; }; - 65F70E09D5951BC64FA18142 /* Pods */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - 934EDEA92EAE6C4B47A95BE3 /* Pods-Runner.debug.xcconfig */, - 94FC045E40EE8EE4891D1AC5 /* Pods-Runner.release.xcconfig */, - CEA44D6F8A366339BF3E3804 /* Pods-Runner.profile.xcconfig */, - 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */, - C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */, - 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Pods; - path = Pods; + path = RunnerTests; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -127,8 +122,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 65F70E09D5951BC64FA18142 /* Pods */, - B69F218116644E8815091E70 /* Frameworks */, + EB2D5223C6764BDA3D44506F /* Pods */, + 1906DC8E1EA7C7D77C535136 /* Frameworks */, ); sourceTree = ""; }; @@ -156,13 +151,18 @@ path = Runner; sourceTree = ""; }; - B69F218116644E8815091E70 /* Frameworks */ = { + EB2D5223C6764BDA3D44506F /* Pods */ = { isa = PBXGroup; children = ( - 74843A7FA98F04EBB64FF99E /* Pods_Runner.framework */, - 36363034C9F75AF94763BAED /* Pods_RunnerTests.framework */, + 67EE1ABC299205EB7F6FA086 /* Pods-Runner.debug.xcconfig */, + 4B78640E3525D79F73B255E1 /* Pods-Runner.release.xcconfig */, + 3FB71951D76C0895205BDBC4 /* Pods-Runner.profile.xcconfig */, + 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */, + 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */, + 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */, + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 84759B2C1EE5D0B0BA41C118 /* Frameworks */, + A925733CBC7A18CB78E8A431 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */, + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */, + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,29 +270,40 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 094395327D8CF03E5D7F7616 /* [CP] Check Pods Manifest.lock */ = { + 0E06279D93907EDF10FC1E52 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 126B932FC855D0D13B565FE4 /* [CP] Check Pods Manifest.lock */ = { + 667E848BF3CCC3B08BE38D8A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -313,53 +325,42 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Thin Binary"; + name = "Run Script"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - 73E233ECA2E262FC8D98E0FD /* [CP] Embed Pods Frameworks */ = { + FE061A1FFC60FFCA9356C4D4 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Run Script"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 8222CEAC7165E164F8C36BE9 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 61A86A2C1E165BA0184B21F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C15B62A24BB3951E9F26E122 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 6F710CF9A00688EAC01E0669 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B991D9C5DE7CA19AC207F33 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8356E02B0F85AFFBA02FDAB4 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/project.pbxproj b/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/project.pbxproj index c6013b8ae6..8acf9f761f 100644 --- a/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/project.pbxproj +++ b/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 67357A138E7B76CA9B682450 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */; }; - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */; }; + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -78,16 +78,16 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E07094E955BA2AFA941D9FA5 /* Pods_RunnerTests.framework in Frameworks */, + BF34290C7014E3E105AAE70F /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5057EBA8F32B4F9E2372CEF3 /* Pods_Runner.framework in Frameworks */, + 14A1E588505FF749AC7C0C36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - CB9D669269C9A2F3F395D8A6 /* Pods */, + B8F425C5F243567BC57076DE /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - CB9D669269C9A2F3F395D8A6 /* Pods */ = { + B8F425C5F243567BC57076DE /* Pods */ = { isa = PBXGroup; children = ( - DB2C57332AA1BFDC57BBA41F /* Pods-Runner.debug.xcconfig */, - EE2B7E5E90FA3E2F922A22EF /* Pods-Runner.release.xcconfig */, - 8F0B3364864478870A4001BD /* Pods-Runner.profile.xcconfig */, - 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */, - 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */, - 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */, + 6482234392FD124802509963 /* Pods-Runner.debug.xcconfig */, + 8776A700DFE9A27A6CE897EB /* Pods-Runner.release.xcconfig */, + A1C40F49B65DCD6F16200CC2 /* Pods-Runner.profile.xcconfig */, + DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */, + 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */, + 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 6A81C05AFE50D2F850A7DCF7 /* Pods_Runner.framework */, - D772C5BC791B01E4EA87366B /* Pods_RunnerTests.framework */, + 67357A138E7B76CA9B682450 /* Pods_Runner.framework */, + 508484E4417A06FD4E552D4E /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */, + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */, + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */, + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,21 +322,26 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 01B34997866A405158FF78DE /* [CP] Embed Pods Frameworks */ = { + 2AD4290A0A356357E551BC9A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 3399D490228B24CF009A79C7 /* ShellScript */ = { @@ -377,7 +382,7 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 72E4FFAACBFC58A8C22C3293 /* [CP] Check Pods Manifest.lock */ = { + 3C3FFBB9270EFA876007A5EC /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - B89271FEFB4A5E1017AE8414 /* [CP] Check Pods Manifest.lock */ = { + DACEDF0B9F40D214327AAA44 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63C36D55905DFF584D2608F5 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DA85B4E90B6187DF82707F21 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7EEFEBC03A3D1EA41646E143 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 57B7C40736233B69BD6D1A2A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9D4E87BF10D7AA5845639478 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 3F0CEB3F5395F62F6C2A49A1 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 0b2e98626f..b9030993c6 100644 --- a/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/firebase-get-to-know-flutter/step_09/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.3 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -38,11 +38,11 @@ dependencies: cupertino_icons: ^1.0.2 google_fonts: ">=4.0.0 <6.0.0" go_router: ^10.0.0 - cloud_firestore: ^4.8.1 - firebase_auth: ^4.6.3 - firebase_core: ^2.14.0 + cloud_firestore: ^4.8.4 + firebase_auth: ^4.7.2 + firebase_core: ^2.15.0 provider: ^6.0.5 - firebase_ui_auth: ^1.4.3 + firebase_ui_auth: ^1.6.2 dev_dependencies: flutter_test: diff --git a/firebase-get-to-know-flutter/step_09/web/index.html b/firebase-get-to-know-flutter/step_09/web/index.html index 37dcbcb902..d6ce13d5a8 100644 --- a/firebase-get-to-know-flutter/step_09/web/index.html +++ b/firebase-get-to-know-flutter/step_09/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/finished_game/android/app/build.gradle b/flame-building-doodle-dash/finished_game/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/finished_game/android/app/build.gradle +++ b/flame-building-doodle-dash/finished_game/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/finished_game/android/settings.gradle b/flame-building-doodle-dash/finished_game/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/finished_game/android/settings.gradle +++ b/flame-building-doodle-dash/finished_game/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/finished_game/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/finished_game/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/flame-building-doodle-dash/finished_game/web/index.html b/flame-building-doodle-dash/finished_game/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/finished_game/web/index.html +++ b/flame-building-doodle-dash/finished_game/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/finished_game/windows/CMakeLists.txt b/flame-building-doodle-dash/finished_game/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/finished_game/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/finished_game/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/finished_game/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/finished_game/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/finished_game/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/finished_game/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_02/android/app/build.gradle b/flame-building-doodle-dash/step_02/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_02/android/app/build.gradle +++ b/flame-building-doodle-dash/step_02/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_02/android/settings.gradle b/flame-building-doodle-dash/step_02/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_02/android/settings.gradle +++ b/flame-building-doodle-dash/step_02/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_02/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_02/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_02/web/index.html b/flame-building-doodle-dash/step_02/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_02/web/index.html +++ b/flame-building-doodle-dash/step_02/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_02/windows/CMakeLists.txt b/flame-building-doodle-dash/step_02/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_02/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_02/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_02/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_02/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_02/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_02/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_03/android/app/build.gradle b/flame-building-doodle-dash/step_03/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_03/android/app/build.gradle +++ b/flame-building-doodle-dash/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_03/android/settings.gradle b/flame-building-doodle-dash/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_03/android/settings.gradle +++ b/flame-building-doodle-dash/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_03/web/index.html b/flame-building-doodle-dash/step_03/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_03/web/index.html +++ b/flame-building-doodle-dash/step_03/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_03/windows/CMakeLists.txt b/flame-building-doodle-dash/step_03/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_03/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_03/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_03/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_04/android/app/build.gradle b/flame-building-doodle-dash/step_04/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_04/android/app/build.gradle +++ b/flame-building-doodle-dash/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_04/android/settings.gradle b/flame-building-doodle-dash/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_04/android/settings.gradle +++ b/flame-building-doodle-dash/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_04/web/index.html b/flame-building-doodle-dash/step_04/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_04/web/index.html +++ b/flame-building-doodle-dash/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_04/windows/CMakeLists.txt b/flame-building-doodle-dash/step_04/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_04/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_04/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_04/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_05/android/app/build.gradle b/flame-building-doodle-dash/step_05/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_05/android/app/build.gradle +++ b/flame-building-doodle-dash/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_05/android/settings.gradle b/flame-building-doodle-dash/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_05/android/settings.gradle +++ b/flame-building-doodle-dash/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_05/web/index.html b/flame-building-doodle-dash/step_05/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_05/web/index.html +++ b/flame-building-doodle-dash/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_05/windows/CMakeLists.txt b/flame-building-doodle-dash/step_05/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_05/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_05/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_05/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_06/android/app/build.gradle b/flame-building-doodle-dash/step_06/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_06/android/app/build.gradle +++ b/flame-building-doodle-dash/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_06/android/settings.gradle b/flame-building-doodle-dash/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_06/android/settings.gradle +++ b/flame-building-doodle-dash/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_06/web/index.html b/flame-building-doodle-dash/step_06/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_06/web/index.html +++ b/flame-building-doodle-dash/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_06/windows/CMakeLists.txt b/flame-building-doodle-dash/step_06/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_06/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_06/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_06/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_07/android/app/build.gradle b/flame-building-doodle-dash/step_07/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_07/android/app/build.gradle +++ b/flame-building-doodle-dash/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_07/android/settings.gradle b/flame-building-doodle-dash/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_07/android/settings.gradle +++ b/flame-building-doodle-dash/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_07/web/index.html b/flame-building-doodle-dash/step_07/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_07/web/index.html +++ b/flame-building-doodle-dash/step_07/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_07/windows/CMakeLists.txt b/flame-building-doodle-dash/step_07/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_07/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_07/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_07/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flame-building-doodle-dash/step_08/android/app/build.gradle b/flame-building-doodle-dash/step_08/android/app/build.gradle index 32815c36c9..16b231e865 100644 --- a/flame-building-doodle-dash/step_08/android/app/build.gradle +++ b/flame-building-doodle-dash/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.doodle_dash" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/flame-building-doodle-dash/step_08/android/settings.gradle b/flame-building-doodle-dash/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/flame-building-doodle-dash/step_08/android/settings.gradle +++ b/flame-building-doodle-dash/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/project.pbxproj index d617c026a0..a259d75f82 100644 --- a/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -7,15 +7,15 @@ objects = { /* Begin PBXBuildFile section */ - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5F53A72309AA90313AA160E /* Pods_Runner.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2347DA9B9551117467332989 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,17 +42,19 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2347DA9B9551117467332989 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -60,11 +62,9 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - B5F53A72309AA90313AA160E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -72,36 +72,41 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0A8A4A2F7EDAA3EE04C13D11 /* Pods_Runner.framework in Frameworks */, + 6C930CBEC9777F1227DE9B89 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - D9956F9570F5156214FCE096 /* Frameworks */ = { + F676E9973E7230725BB1B413 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 958975F8A3717CF4C85A98C3 /* Pods_RunnerTests.framework in Frameworks */, + CC14459026A5A420C2E9BA98 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 08240FB98DD7DB78E1BB20AC /* Frameworks */ = { + 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( - B5F53A72309AA90313AA160E /* Pods_Runner.framework */, - 9D2D803075480E29B07A8833 /* Pods_RunnerTests.framework */, + 331C807B294A618700263BE5 /* RunnerTests.swift */, ); - name = Frameworks; + path = RunnerTests; sourceTree = ""; }; - 331C8082294A63A400263BE5 /* RunnerTests */ = { + 50A1CB5B69EE301C3A26536F /* Pods */ = { isa = PBXGroup; children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, + 0E70AE06D9BEE41AD3CC044C /* Pods-Runner.debug.xcconfig */, + 236E89211F977F5A824AE222 /* Pods-Runner.release.xcconfig */, + A188A252679D2541CAB1E843 /* Pods-Runner.profile.xcconfig */, + 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */, + 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */, + BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */, ); - path = RunnerTests; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -122,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - EF7A6C7A58815C0604C34A86 /* Pods */, - 08240FB98DD7DB78E1BB20AC /* Frameworks */, + 50A1CB5B69EE301C3A26536F /* Pods */, + 9A1B387BC0EF68F924257C1D /* Frameworks */, ); sourceTree = ""; }; @@ -151,18 +156,13 @@ path = Runner; sourceTree = ""; }; - EF7A6C7A58815C0604C34A86 /* Pods */ = { + 9A1B387BC0EF68F924257C1D /* Frameworks */ = { isa = PBXGroup; children = ( - B4C2C01A94092689AF7CD71A /* Pods-Runner.debug.xcconfig */, - 6F8E7E241185F8AD638E1D2A /* Pods-Runner.release.xcconfig */, - 20A39D5F12F1039B9D745A08 /* Pods-Runner.profile.xcconfig */, - EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */, - FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */, - 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */, + 2347DA9B9551117467332989 /* Pods_Runner.framework */, + 06C24220D021A97C180EFD76 /* Pods_RunnerTests.framework */, ); - name = Pods; - path = Pods; + name = Frameworks; sourceTree = ""; }; /* End PBXGroup section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */, + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - D9956F9570F5156214FCE096 /* Frameworks */, + F676E9973E7230725BB1B413 /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */, + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */, + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,55 +270,45 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 414FB62B89598D5DB0D3542B /* [CP] Embed Pods Frameworks */ = { + 343BDF8AEA1CD691133D536B /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Embed Pods Frameworks"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - B88F974AD0CE29CC107E6C61 /* [CP] Check Pods Manifest.lock */ = { + 7282A518C3498C7E4E0720EB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -339,27 +330,37 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - C842C25CFF8A0DE1DA91660C /* [CP] Check Pods Manifest.lock */ = { + 8A4C290D477912693368A75E /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Embed Pods Frameworks"; outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; /* End PBXShellScriptBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = EB6F08CAB60FA2A2A9D9E43F /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 9BE0BD17219E2032EAFFDBCE /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = FF1A36ED6BFC13DB1501322C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 29F2B329417C031B3D44B641 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9466AC781B6450E26517A462 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = BE10C06B58834F9C68E2F70D /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/project.pbxproj b/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/project.pbxproj index 6d6120a9ea..dc2978a517 100644 --- a/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/project.pbxproj +++ b/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */; }; + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 195569670E6E30B7A488A483 /* Pods_Runner.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */; }; + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 195569670E6E30B7A488A483 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - E29DA5207EC57683B6768D3E /* Pods_RunnerTests.framework in Frameworks */, + 3D8FD4E9EFC1A73CD7BC769D /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 22EC1375469C2FB2267DC33F /* Pods_Runner.framework in Frameworks */, + 1C0E3379D515BE9553B427E4 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - C3CB2B73359496EE3ADC3242 /* Pods */, + 7E236D95CB0891FFB0150A40 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - C3CB2B73359496EE3ADC3242 /* Pods */ = { + 7E236D95CB0891FFB0150A40 /* Pods */ = { isa = PBXGroup; children = ( - FB74DFCAE4BF5542B8F07E35 /* Pods-Runner.debug.xcconfig */, - FCCE41071BFDD99280A77090 /* Pods-Runner.release.xcconfig */, - 22EC5245E31312D36B9451DE /* Pods-Runner.profile.xcconfig */, - 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */, - CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */, - E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */, + F02E783BB5367E7A82ABD228 /* Pods-Runner.debug.xcconfig */, + DDC7CFFFF53C2D780D60D331 /* Pods-Runner.release.xcconfig */, + E2D615844B29BD462F374CE1 /* Pods-Runner.profile.xcconfig */, + 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */, + 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */, + 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - B2D8B39E35E30E04F7036A94 /* Pods_Runner.framework */, - 0BAE020C80DB1845F6114713 /* Pods_RunnerTests.framework */, + 195569670E6E30B7A488A483 /* Pods_Runner.framework */, + 79CE2BA389DE559E8919E385 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */, + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */, + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */, + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,67 +322,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 2011BFFBF7BC266E76903ABB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, ); outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 6B0DCA2FDFFBD1F1091C381C /* [CP] Check Pods Manifest.lock */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", + Flutter/ephemeral/tripwire, ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 6D166415AD5371AD562A84C6 /* [CP] Embed Pods Frameworks */ = { + 43FDA1A9FBF0416141EDC3B9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +399,7 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; - D0B57C8EB33339C5382BC58C /* [CP] Check Pods Manifest.lock */ = { + EAA1790E13166A29ACA487FA /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -414,7 +414,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4BE3A1B4402B33522898E8FA /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 45D62497B1427312C8C82B76 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CB22EB62DE5368F7908A17FC /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 45D7AB72F7347497EC04390D /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E71B56965B9F63552E7D99B9 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B5B63EE2B2E5E3CCF30ECDF /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 8d181c819b..2c3caffda2 100644 --- a/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/flame-building-doodle-dash/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.2 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,7 +36,7 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flame: 1.7.3 - google_fonts: ^5.0.0 + google_fonts: ^5.1.0 dev_dependencies: flutter_test: diff --git a/flame-building-doodle-dash/step_08/web/index.html b/flame-building-doodle-dash/step_08/web/index.html index 67f96f6ccb..a8da2fe336 100644 --- a/flame-building-doodle-dash/step_08/web/index.html +++ b/flame-building-doodle-dash/step_08/web/index.html @@ -34,7 +34,7 @@ diff --git a/flame-building-doodle-dash/step_08/windows/CMakeLists.txt b/flame-building-doodle-dash/step_08/windows/CMakeLists.txt index 5151f37c53..ba3f910eeb 100644 --- a/flame-building-doodle-dash/step_08/windows/CMakeLists.txt +++ b/flame-building-doodle-dash/step_08/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "doodle_dash") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/flame-building-doodle-dash/step_08/windows/runner/flutter_window.cpp b/flame-building-doodle-dash/step_08/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/flame-building-doodle-dash/step_08/windows/runner/flutter_window.cpp +++ b/flame-building-doodle-dash/step_08/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/flutter_ci_script_beta.sh b/flutter_ci_script_beta.sh index d809615247..e9ea019b19 100755 --- a/flutter_ci_script_beta.sh +++ b/flutter_ci_script_beta.sh @@ -8,8 +8,7 @@ source "$DIR/flutter_ci_script_shared.sh" declare -a CODELABS=( "adaptive_app" "animated-responsive-layout" - # TODO(DomesticMouse): material_color_utilities 0.3.0 - # "boring_to_beautiful" + "boring_to_beautiful" "cupertino_store" "dart-patterns-and-records" "dartpad_codelabs" @@ -25,8 +24,7 @@ declare -a CODELABS=( "in_app_purchases" "namer" "next-gen-ui" - # TODO(DomesticMouse): material_color_utilities 0.3.0 - # "pesto_flutter" + "pesto_flutter" "star_counter" "testing_codelab" "tfagents-flutter" diff --git a/github-client/codelab_rebuild.yaml b/github-client/codelab_rebuild.yaml index 9c2ba0bda6..03b8e08cac 100644 --- a/github-client/codelab_rebuild.yaml +++ b/github-client/codelab_rebuild.yaml @@ -16,9 +16,15 @@ steps: - name: Remove the README.md path: window_to_front rm: README.md - - name: Remove tests + - name: Remove test path: window_to_front rmdir: test + - name: Remove linux/test + path: window_to_front + rmdir: linux/test + - name: Remove windows/test + path: window_to_front + rmdir: windows/test - name: Patch pubspec.yaml path: window_to_front/pubspec.yaml patch: | @@ -71,12 +77,14 @@ steps: + return WindowToFrontPlatform.instance.activate(); } } + - name: Remove linux/window_to_front_plugin_private.h + rm: window_to_front/linux/window_to_front_plugin_private.h - name: Patch linux/window_to_front_plugin.cc path: window_to_front/linux/window_to_front_plugin.cc patch-u: | --- b/github-client/window_to_front/linux/window_to_front_plugin.cc +++ a/github-client/window_to_front/linux/window_to_front_plugin.cc - @@ -1,17 +1,31 @@ + @@ -1,19 +1,31 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); @@ -98,6 +106,8 @@ steps: #include -#include + - + -#include "window_to_front_plugin_private.h" - #define WINDOW_TO_FRONT_PLUGIN(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj), window_to_front_plugin_get_type(), \ @@ -110,16 +120,12 @@ steps: }; G_DEFINE_TYPE(WindowToFrontPlugin, window_to_front_plugin, g_object_get_type()) - @@ -24,12 +38,14 @@ static void window_to_front_plugin_handle_method_call( + @@ -26,8 +38,14 @@ static void window_to_front_plugin_handle_method_call( const gchar* method = fl_method_call_get_name(method_call); - if (strcmp(method, "getPlatformVersion") == 0) { - - struct utsname uname_data = {}; - - uname(&uname_data); - - g_autofree gchar *version = g_strdup_printf("Linux %s", uname_data.version); - - g_autoptr(FlValue) result = fl_value_new_string(version); - - response = FL_METHOD_RESPONSE(fl_method_success_response_new(result)); + - response = get_platform_version(); + if (strcmp(method, "activate") == 0) { + FlView* view = fl_plugin_registrar_get_view(self->registrar); + if (view != nullptr) { @@ -131,7 +137,22 @@ steps: } else { response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new()); } - @@ -57,6 +73,8 @@ void window_to_front_plugin_register_with_registrar(FlPluginRegistrar* registrar + @@ -35,14 +53,6 @@ static void window_to_front_plugin_handle_method_call( + fl_method_call_respond(method_call, response, nullptr); + } + + -FlMethodResponse* get_platform_version() { + - struct utsname uname_data = {}; + - uname(&uname_data); + - g_autofree gchar *version = g_strdup_printf("Linux %s", uname_data.version); + - g_autoptr(FlValue) result = fl_value_new_string(version); + - return FL_METHOD_RESPONSE(fl_method_success_response_new(result)); + -} + - + static void window_to_front_plugin_dispose(GObject* object) { + G_OBJECT_CLASS(window_to_front_plugin_parent_class)->dispose(object); + } + @@ -63,6 +73,8 @@ void window_to_front_plugin_register_with_registrar(FlPluginRegistrar* registrar WindowToFrontPlugin* plugin = WINDOW_TO_FRONT_PLUGIN( g_object_new(window_to_front_plugin_get_type(), nullptr)); @@ -362,7 +383,7 @@ steps: virtual ~WindowToFrontPlugin(); - @@ -25,6 +39,9 @@ class WindowToFrontPlugin : public flutter::Plugin { + @@ -24,6 +38,9 @@ class WindowToFrontPlugin : public flutter::Plugin { void HandleMethodCall( const flutter::MethodCall &method_call, std::unique_ptr> result); diff --git a/github-client/step_03/macos/Runner.xcodeproj/project.pbxproj b/github-client/step_03/macos/Runner.xcodeproj/project.pbxproj index 18533005ae..bf5cd6a3b5 100644 --- a/github-client/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/github-client/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/github-client/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/github-client/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0457b47df..ce485f24ba 100644 --- a/github-client/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/github-client/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-417.3.beta <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/github-client/step_03/windows/CMakeLists.txt b/github-client/step_03/windows/CMakeLists.txt index c84639d1ba..6bdd6f1c61 100644 --- a/github-client/step_03/windows/CMakeLists.txt +++ b/github-client/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "github_client") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/github-client/step_03/windows/runner/flutter_window.cpp b/github-client/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/github-client/step_03/windows/runner/flutter_window.cpp +++ b/github-client/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/github-client/step_04/macos/Runner.xcodeproj/project.pbxproj b/github-client/step_04/macos/Runner.xcodeproj/project.pbxproj index 5a4659e575..2cdf676f3f 100644 --- a/github-client/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/github-client/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */; }; + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */; }; + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */, + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,22 +103,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */, + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01C845C8B73C2CBF51557127 /* Pods */ = { + 1C0EAF2141CFC041DC77C909 /* Pods */ = { isa = PBXGroup; children = ( - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */, - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */, - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */, - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */, - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */, - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */, + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */, + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */, + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */, + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */, + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */, + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -151,7 +151,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 01C845C8B73C2CBF51557127 /* Pods */, + 1C0EAF2141CFC041DC77C909 /* Pods */, ); sourceTree = ""; }; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */, - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */, + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */, + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */, + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */, + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */, + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,7 +322,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */ = { + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -344,23 +344,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -399,7 +382,24 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */ = { + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/github-client/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/github-client/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0457b47df..ce485f24ba 100644 --- a/github-client/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/github-client/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-417.3.beta <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,9 +35,9 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - http: ^1.0.0 - oauth2: ^2.0.1 - url_launcher: ^6.1.10 + http: ^1.1.0 + oauth2: ^2.0.2 + url_launcher: ^6.1.12 dev_dependencies: flutter_test: diff --git a/github-client/step_04/windows/CMakeLists.txt b/github-client/step_04/windows/CMakeLists.txt index c84639d1ba..6bdd6f1c61 100644 --- a/github-client/step_04/windows/CMakeLists.txt +++ b/github-client/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "github_client") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/github-client/step_04/windows/runner/flutter_window.cpp b/github-client/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/github-client/step_04/windows/runner/flutter_window.cpp +++ b/github-client/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/github-client/step_05/macos/Runner.xcodeproj/project.pbxproj b/github-client/step_05/macos/Runner.xcodeproj/project.pbxproj index 5a4659e575..2cdf676f3f 100644 --- a/github-client/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/github-client/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */; }; + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */; }; + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */, + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,22 +103,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */, + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01C845C8B73C2CBF51557127 /* Pods */ = { + 1C0EAF2141CFC041DC77C909 /* Pods */ = { isa = PBXGroup; children = ( - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */, - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */, - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */, - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */, - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */, - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */, + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */, + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */, + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */, + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */, + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */, + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -151,7 +151,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 01C845C8B73C2CBF51557127 /* Pods */, + 1C0EAF2141CFC041DC77C909 /* Pods */, ); sourceTree = ""; }; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */, - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */, + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */, + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */, + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */, + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */, + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,7 +322,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */ = { + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -344,23 +344,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -399,7 +382,24 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */ = { + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/github-client/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/github-client/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0457b47df..ce485f24ba 100644 --- a/github-client/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/github-client/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-417.3.beta <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,9 +36,9 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 http: ^1.1.0 - oauth2: ^2.0.1 - url_launcher: ^6.1.10 - github: ^9.12.0 + oauth2: ^2.0.2 + url_launcher: ^6.1.12 + github: ^9.17.0 dev_dependencies: flutter_test: diff --git a/github-client/step_05/windows/CMakeLists.txt b/github-client/step_05/windows/CMakeLists.txt index c84639d1ba..6bdd6f1c61 100644 --- a/github-client/step_05/windows/CMakeLists.txt +++ b/github-client/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "github_client") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/github-client/step_05/windows/runner/flutter_window.cpp b/github-client/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/github-client/step_05/windows/runner/flutter_window.cpp +++ b/github-client/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/github-client/step_06/macos/Runner.xcodeproj/project.pbxproj b/github-client/step_06/macos/Runner.xcodeproj/project.pbxproj index 5a4659e575..2cdf676f3f 100644 --- a/github-client/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/github-client/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */; }; + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */; }; + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */, + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,22 +103,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */, + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01C845C8B73C2CBF51557127 /* Pods */ = { + 1C0EAF2141CFC041DC77C909 /* Pods */ = { isa = PBXGroup; children = ( - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */, - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */, - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */, - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */, - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */, - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */, + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */, + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */, + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */, + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */, + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */, + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -151,7 +151,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 01C845C8B73C2CBF51557127 /* Pods */, + 1C0EAF2141CFC041DC77C909 /* Pods */, ); sourceTree = ""; }; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */, - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */, + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */, + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */, + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */, + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */, + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,7 +322,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */ = { + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -344,23 +344,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -399,7 +382,24 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */ = { + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/github-client/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/github-client/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0457b47df..ce485f24ba 100644 --- a/github-client/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/github-client/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-417.3.beta <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,9 +36,9 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 http: ^1.1.0 - oauth2: ^2.0.1 - url_launcher: ^6.1.10 - github: ^9.12.0 + oauth2: ^2.0.2 + url_launcher: ^6.1.12 + github: ^9.17.0 window_to_front: path: ../window_to_front diff --git a/github-client/step_06/windows/CMakeLists.txt b/github-client/step_06/windows/CMakeLists.txt index c84639d1ba..6bdd6f1c61 100644 --- a/github-client/step_06/windows/CMakeLists.txt +++ b/github-client/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "github_client") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/github-client/step_06/windows/runner/flutter_window.cpp b/github-client/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/github-client/step_06/windows/runner/flutter_window.cpp +++ b/github-client/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/github-client/step_07/macos/Runner.xcodeproj/project.pbxproj b/github-client/step_07/macos/Runner.xcodeproj/project.pbxproj index 5a4659e575..2cdf676f3f 100644 --- a/github-client/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/github-client/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -21,14 +21,14 @@ /* End PBXAggregateTarget section */ /* Begin PBXBuildFile section */ - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */; }; 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */; }; + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */; }; + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,9 +62,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -81,13 +80,14 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 1F41BBC8574F469CB0823DD6 /* Pods_RunnerTests.framework in Frameworks */, + 96B44C3AA84AD7F02E429E42 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,22 +103,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7DA4EC99D5670EFDA093568E /* Pods_Runner.framework in Frameworks */, + 535462009C5EE81489AE690D /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 01C845C8B73C2CBF51557127 /* Pods */ = { + 1C0EAF2141CFC041DC77C909 /* Pods */ = { isa = PBXGroup; children = ( - AFD95A85B02B2DEC4983AA2C /* Pods-Runner.debug.xcconfig */, - 294CDC5FC11DCA9B766D5CA6 /* Pods-Runner.release.xcconfig */, - 580FB0E473C11960D13B2E51 /* Pods-Runner.profile.xcconfig */, - 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */, - 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */, - 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */, + 3D11EFF15096D0F85FC386C6 /* Pods-Runner.debug.xcconfig */, + 2301EAD325CB9DE9FDC382DA /* Pods-Runner.release.xcconfig */, + 23A87BB57A7057D97C3C89C0 /* Pods-Runner.profile.xcconfig */, + 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */, + 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */, + 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -151,7 +151,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 01C845C8B73C2CBF51557127 /* Pods */, + 1C0EAF2141CFC041DC77C909 /* Pods */, ); sourceTree = ""; }; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - CE1417CAD5C3A68C9938D6E3 /* Pods_Runner.framework */, - F312D1C17A90F0E11406ADDD /* Pods_RunnerTests.framework */, + 5EFAA8B760CB326AC3910A17 /* Pods_Runner.framework */, + F66FD44B523BD0D0C38FF1BC /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */, + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,13 +234,13 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */, + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, 33CC110E2044A8840003C045 /* Bundle Framework */, 3399D490228B24CF009A79C7 /* ShellScript */, - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */, + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -259,7 +259,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -322,7 +322,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 0878B7415CB3177C1AF9BE2E /* [CP] Check Pods Manifest.lock */ = { + 171BF27640B8BB8960C8DD73 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -344,23 +344,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 290A24015A90D1E3B6C6F152 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -399,7 +382,24 @@ shellPath = /bin/sh; shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 99C03FB4D8A56F8C459DCC34 /* [CP] Check Pods Manifest.lock */ = { + 3D5BAFC92EBFA63AD1514152 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + B432805FDF09BCC42181FDA8 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -472,7 +472,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1C54FA6B4B42C61B00930E9A /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 5D2CE359391CF1E009FCA797 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -487,7 +487,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7291077FB66101FEE8CBAC61 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 89A87FFC64C838B1C066ED0A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -502,7 +502,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 257AA979A23B8415B603B44B /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 8B28ED940904202A61F868BD /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/github-client/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/github-client/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e0457b47df..ce485f24ba 100644 --- a/github-client/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/github-client/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0-417.3.beta <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -36,9 +36,9 @@ dependencies: # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 http: ^1.1.0 - oauth2: ^2.0.1 - url_launcher: ^6.1.10 - github: ^9.12.0 + oauth2: ^2.0.2 + url_launcher: ^6.1.12 + github: ^9.17.0 window_to_front: path: ../window_to_front fluttericon: ^2.0.0 diff --git a/github-client/step_07/windows/CMakeLists.txt b/github-client/step_07/windows/CMakeLists.txt index c84639d1ba..6bdd6f1c61 100644 --- a/github-client/step_07/windows/CMakeLists.txt +++ b/github-client/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "github_client") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/github-client/step_07/windows/runner/flutter_window.cpp b/github-client/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/github-client/step_07/windows/runner/flutter_window.cpp +++ b/github-client/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/github-client/window_to_front/pubspec.yaml b/github-client/window_to_front/pubspec.yaml index d384f3ccf0..3600e3577a 100644 --- a/github-client/window_to_front/pubspec.yaml +++ b/github-client/window_to_front/pubspec.yaml @@ -1,11 +1,25 @@ +# Copyright 2020 Google LLC +# +# 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 +# +# https://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. + name: window_to_front description: A new Flutter plugin project. version: 0.0.1 homepage: environment: - sdk: '>=3.0.0-417.3.beta <4.0.0' - flutter: ">=3.3.0" + sdk: ^3.1.0-0 + flutter: '>=3.3.0' dependencies: flutter: diff --git a/github-client/window_to_front/windows/CMakeLists.txt b/github-client/window_to_front/windows/CMakeLists.txt index d7fcb7b47b..ef09950db7 100644 --- a/github-client/window_to_front/windows/CMakeLists.txt +++ b/github-client/window_to_front/windows/CMakeLists.txt @@ -8,6 +8,10 @@ cmake_minimum_required(VERSION 3.14) set(PROJECT_NAME "window_to_front") project(${PROJECT_NAME} LANGUAGES CXX) +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + # This value is used when generating builds using this plugin, so it must # not be changed set(PLUGIN_NAME "window_to_front_plugin") diff --git a/google-maps-in-flutter/codelab_rebuild.yaml b/google-maps-in-flutter/codelab_rebuild.yaml index 59282d8f84..f65dc105ae 100644 --- a/google-maps-in-flutter/codelab_rebuild.yaml +++ b/google-maps-in-flutter/codelab_rebuild.yaml @@ -20,10 +20,10 @@ steps: - name: dart fix dart: fix --apply path: google_maps_in_flutter - - name: Add google_maps_flutter google_maps_flutter_web + - name: Add google_maps_flutter path: google_maps_in_flutter - flutter: pub add google_maps_flutter google_maps_flutter_web - - name: Remove the README.md. + flutter: pub add google_maps_flutter + - name: Remove the README.md rm: google_maps_in_flutter/README.md - name: VSCode config path: google_maps_in_flutter @@ -49,7 +49,7 @@ steps: patch-u: | --- b/google-maps-in-flutter/step_3/android/app/build.gradle +++ a/google-maps-in-flutter/step_3/android/app/build.gradle - @@ -46,9 +46,7 @@ android { + @@ -43,9 +43,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.google_maps_in_flutter" @@ -1414,7 +1414,7 @@ steps: patch-u: | --- b/google-maps-in-flutter/step_5/pubspec.yaml +++ a/google-maps-in-flutter/step_5/pubspec.yaml - @@ -94,3 +94,5 @@ flutter: + @@ -93,3 +93,5 @@ flutter: # # For details regarding fonts from package dependencies, # see https://flutter.dev/custom-fonts/#from-packages diff --git a/google-maps-in-flutter/step_3/android/app/build.gradle b/google-maps-in-flutter/step_3/android/app/build.gradle index c05a50c1b4..652e4a6bb1 100644 --- a/google-maps-in-flutter/step_3/android/app/build.gradle +++ b/google-maps-in-flutter/step_3/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.google_maps_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -65,6 +62,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/google-maps-in-flutter/step_3/android/settings.gradle b/google-maps-in-flutter/step_3/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/google-maps-in-flutter/step_3/android/settings.gradle +++ b/google-maps-in-flutter/step_3/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/project.pbxproj b/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/project.pbxproj index 96f125d1ea..7d1a06c0b9 100644 --- a/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/project.pbxproj +++ b/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/project.pbxproj @@ -10,12 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D588F5293D1E4132951653E /* Pods_Runner.framework */; }; + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,14 +42,15 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -60,19 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D588F5293D1E4132951653E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 81949BA81BC9073BB1489CC7 /* Frameworks */ = { + 0D882102666663834FB9D66B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */, + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,22 +80,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */, + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 21685C2F6925888E75FD1964 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9D588F5293D1E4132951653E /* Pods_Runner.framework */, - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -104,20 +95,6 @@ path = RunnerTests; sourceTree = ""; }; - 9244FFB7A62A76C68C0648CF /* Pods */ = { - isa = PBXGroup; - children = ( - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */, - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */, - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */, - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */, - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */, - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +113,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 9244FFB7A62A76C68C0648CF /* Pods */, - 21685C2F6925888E75FD1964 /* Frameworks */, + DAAD6754E6B023A89738D4A6 /* Pods */, + A6271C527104F0932E0C54B7 /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +142,29 @@ path = Runner; sourceTree = ""; }; + A6271C527104F0932E0C54B7 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */, + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + DAAD6754E6B023A89738D4A6 /* Pods */ = { + isa = PBXGroup; + children = ( + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */, + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */, + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */, + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */, + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */, + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */, + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 81949BA81BC9073BB1489CC7 /* Frameworks */, + 0D882102666663834FB9D66B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */, + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */, + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -285,7 +286,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */ = { + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -300,14 +301,31 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */ = { + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -322,7 +340,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -344,23 +362,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/google-maps-in-flutter/step_3/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/google-maps-in-flutter/step_3/pubspec.yaml b/google-maps-in-flutter/step_3/pubspec.yaml index a2c7bee5b6..00d5389b2e 100644 --- a/google-maps-in-flutter/step_3/pubspec.yaml +++ b/google-maps-in-flutter/step_3/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,8 +35,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - google_maps_flutter: ^2.2.6 - google_maps_flutter_web: ^0.5.0 + google_maps_flutter: ^2.4.0 dev_dependencies: flutter_test: diff --git a/google-maps-in-flutter/step_3/web/index.html b/google-maps-in-flutter/step_3/web/index.html index d74fb08a67..161a6373be 100644 --- a/google-maps-in-flutter/step_3/web/index.html +++ b/google-maps-in-flutter/step_3/web/index.html @@ -34,7 +34,7 @@ diff --git a/google-maps-in-flutter/step_4/android/app/build.gradle b/google-maps-in-flutter/step_4/android/app/build.gradle index c05a50c1b4..652e4a6bb1 100644 --- a/google-maps-in-flutter/step_4/android/app/build.gradle +++ b/google-maps-in-flutter/step_4/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.google_maps_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -65,6 +62,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/google-maps-in-flutter/step_4/android/settings.gradle b/google-maps-in-flutter/step_4/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/google-maps-in-flutter/step_4/android/settings.gradle +++ b/google-maps-in-flutter/step_4/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/project.pbxproj b/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/project.pbxproj index 96f125d1ea..7d1a06c0b9 100644 --- a/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/project.pbxproj +++ b/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/project.pbxproj @@ -10,12 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D588F5293D1E4132951653E /* Pods_Runner.framework */; }; + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,14 +42,15 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -60,19 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D588F5293D1E4132951653E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 81949BA81BC9073BB1489CC7 /* Frameworks */ = { + 0D882102666663834FB9D66B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */, + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,22 +80,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */, + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 21685C2F6925888E75FD1964 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9D588F5293D1E4132951653E /* Pods_Runner.framework */, - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -104,20 +95,6 @@ path = RunnerTests; sourceTree = ""; }; - 9244FFB7A62A76C68C0648CF /* Pods */ = { - isa = PBXGroup; - children = ( - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */, - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */, - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */, - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */, - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */, - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +113,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 9244FFB7A62A76C68C0648CF /* Pods */, - 21685C2F6925888E75FD1964 /* Frameworks */, + DAAD6754E6B023A89738D4A6 /* Pods */, + A6271C527104F0932E0C54B7 /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +142,29 @@ path = Runner; sourceTree = ""; }; + A6271C527104F0932E0C54B7 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */, + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + DAAD6754E6B023A89738D4A6 /* Pods */ = { + isa = PBXGroup; + children = ( + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */, + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */, + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */, + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */, + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */, + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */, + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 81949BA81BC9073BB1489CC7 /* Frameworks */, + 0D882102666663834FB9D66B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */, + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */, + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -285,7 +286,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */ = { + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -300,14 +301,31 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */ = { + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -322,7 +340,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -344,23 +362,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/google-maps-in-flutter/step_4/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/google-maps-in-flutter/step_4/pubspec.yaml b/google-maps-in-flutter/step_4/pubspec.yaml index a2c7bee5b6..00d5389b2e 100644 --- a/google-maps-in-flutter/step_4/pubspec.yaml +++ b/google-maps-in-flutter/step_4/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,8 +35,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - google_maps_flutter: ^2.2.6 - google_maps_flutter_web: ^0.5.0 + google_maps_flutter: ^2.4.0 dev_dependencies: flutter_test: diff --git a/google-maps-in-flutter/step_4/web/index.html b/google-maps-in-flutter/step_4/web/index.html index 0a3f342350..a1eea06635 100644 --- a/google-maps-in-flutter/step_4/web/index.html +++ b/google-maps-in-flutter/step_4/web/index.html @@ -37,7 +37,7 @@ diff --git a/google-maps-in-flutter/step_5/android/app/build.gradle b/google-maps-in-flutter/step_5/android/app/build.gradle index c05a50c1b4..652e4a6bb1 100644 --- a/google-maps-in-flutter/step_5/android/app/build.gradle +++ b/google-maps-in-flutter/step_5/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.google_maps_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -65,6 +62,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/google-maps-in-flutter/step_5/android/settings.gradle b/google-maps-in-flutter/step_5/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/google-maps-in-flutter/step_5/android/settings.gradle +++ b/google-maps-in-flutter/step_5/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/project.pbxproj b/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/project.pbxproj index 96f125d1ea..7d1a06c0b9 100644 --- a/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/project.pbxproj +++ b/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/project.pbxproj @@ -10,12 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D588F5293D1E4132951653E /* Pods_Runner.framework */; }; + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -42,14 +42,15 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -60,19 +61,18 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9D588F5293D1E4132951653E /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 81949BA81BC9073BB1489CC7 /* Frameworks */ = { + 0D882102666663834FB9D66B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F9CD8BA019CE52E5B1504FA9 /* Pods_RunnerTests.framework in Frameworks */, + 56513AE7AC36C489E5C4ADA9 /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -80,22 +80,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6FC2A2E6F400D624465D9C35 /* Pods_Runner.framework in Frameworks */, + 7F442AA65AA0B4461C323B1B /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 21685C2F6925888E75FD1964 /* Frameworks */ = { - isa = PBXGroup; - children = ( - 9D588F5293D1E4132951653E /* Pods_Runner.framework */, - C758EA77F1032094B20C26C3 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -104,20 +95,6 @@ path = RunnerTests; sourceTree = ""; }; - 9244FFB7A62A76C68C0648CF /* Pods */ = { - isa = PBXGroup; - children = ( - D8C2B2D7A3D4A34CA82CE263 /* Pods-Runner.debug.xcconfig */, - 0DFBF2565BCC28588C0E86D1 /* Pods-Runner.release.xcconfig */, - 091E747A345703A579647505 /* Pods-Runner.profile.xcconfig */, - 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */, - BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */, - A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -136,8 +113,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 9244FFB7A62A76C68C0648CF /* Pods */, - 21685C2F6925888E75FD1964 /* Frameworks */, + DAAD6754E6B023A89738D4A6 /* Pods */, + A6271C527104F0932E0C54B7 /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +142,29 @@ path = Runner; sourceTree = ""; }; + A6271C527104F0932E0C54B7 /* Frameworks */ = { + isa = PBXGroup; + children = ( + C31DDE2FFD863FF36A70CD94 /* Pods_Runner.framework */, + 3BE75B32D5F1533276859036 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + DAAD6754E6B023A89738D4A6 /* Pods */ = { + isa = PBXGroup; + children = ( + 20E2945C98253AEFA802C695 /* Pods-Runner.debug.xcconfig */, + AA50BBB108BD8CD48473423E /* Pods-Runner.release.xcconfig */, + 4EF341E0CCAF083F137A2BAD /* Pods-Runner.profile.xcconfig */, + DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */, + 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */, + 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */, + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 81949BA81BC9073BB1489CC7 /* Frameworks */, + 0D882102666663834FB9D66B /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */, + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */, + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -285,7 +286,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 6DA461CCE7C8EC712717B568 /* [CP] Check Pods Manifest.lock */ = { + 53E0420166FE5B9C7C2379C6 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -300,14 +301,31 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 85CD97AC60FA28977B0626E8 /* [CP] Check Pods Manifest.lock */ = { + 6AC7BB2F071C04C9EEE81C15 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 76C775D5D5D05DE8770983F9 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -322,7 +340,7 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -344,23 +362,6 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A2239DC4979186EDBA653BDD /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 27232CD70AC3B4131508EE54 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = DF723A4CC4558CEEFFB34E6B /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = BB93DDA4BEECB47514434A18 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 9F16BCFBE9DBCD3684600901 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A32C8539A06BF77AF53BCCA4 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 1DDAA44E72C8E4A406512816 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/google-maps-in-flutter/step_5/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/google-maps-in-flutter/step_5/pubspec.yaml b/google-maps-in-flutter/step_5/pubspec.yaml index 7233f5394c..76e7df3d9f 100644 --- a/google-maps-in-flutter/step_5/pubspec.yaml +++ b/google-maps-in-flutter/step_5/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -35,11 +35,10 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 - google_maps_flutter: ^2.2.6 - google_maps_flutter_web: ^0.5.0 - http: ^1.0.0 + google_maps_flutter: ^2.4.0 + http: ^1.1.0 json_annotation: ^4.8.1 - json_serializable: ^6.6.2 + json_serializable: ^6.7.1 dev_dependencies: flutter_test: @@ -51,7 +50,7 @@ dev_dependencies: # package. See that file for information about deactivating specific lint # rules and activating additional ones. flutter_lints: ^2.0.0 - build_runner: ^2.4.2 + build_runner: ^2.4.6 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec diff --git a/google-maps-in-flutter/step_5/web/index.html b/google-maps-in-flutter/step_5/web/index.html index 0a3f342350..a1eea06635 100644 --- a/google-maps-in-flutter/step_5/web/index.html +++ b/google-maps-in-flutter/step_5/web/index.html @@ -37,7 +37,7 @@ diff --git a/haiku_generator/finished/pubspec.yaml b/haiku_generator/finished/pubspec.yaml index dc91add671..faa93d7826 100644 --- a/haiku_generator/finished/pubspec.yaml +++ b/haiku_generator/finished/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/haiku_generator/step0/pubspec.yaml b/haiku_generator/step0/pubspec.yaml index dc91add671..faa93d7826 100644 --- a/haiku_generator/step0/pubspec.yaml +++ b/haiku_generator/step0/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/haiku_generator/step1/pubspec.yaml b/haiku_generator/step1/pubspec.yaml index dc91add671..faa93d7826 100644 --- a/haiku_generator/step1/pubspec.yaml +++ b/haiku_generator/step1/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/haiku_generator/step2/pubspec.yaml b/haiku_generator/step2/pubspec.yaml index dc91add671..faa93d7826 100644 --- a/haiku_generator/step2/pubspec.yaml +++ b/haiku_generator/step2/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/haiku_generator/step3/pubspec.yaml b/haiku_generator/step3/pubspec.yaml index dc91add671..faa93d7826 100644 --- a/haiku_generator/step3/pubspec.yaml +++ b/haiku_generator/step3/pubspec.yaml @@ -18,7 +18,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/homescreen_codelab/step_03/pubspec.yaml b/homescreen_codelab/step_03/pubspec.yaml index 360eb7f545..3dae135928 100644 --- a/homescreen_codelab/step_03/pubspec.yaml +++ b/homescreen_codelab/step_03/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=2.18.5 <3.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/homescreen_codelab/step_04/pubspec.yaml b/homescreen_codelab/step_04/pubspec.yaml index 360eb7f545..3dae135928 100644 --- a/homescreen_codelab/step_04/pubspec.yaml +++ b/homescreen_codelab/step_04/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=2.18.5 <3.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/homescreen_codelab/step_05/pubspec.yaml b/homescreen_codelab/step_05/pubspec.yaml index 360eb7f545..3dae135928 100644 --- a/homescreen_codelab/step_05/pubspec.yaml +++ b/homescreen_codelab/step_05/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=2.18.5 <3.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/homescreen_codelab/step_06/pubspec.yaml b/homescreen_codelab/step_06/pubspec.yaml index 360eb7f545..3dae135928 100644 --- a/homescreen_codelab/step_06/pubspec.yaml +++ b/homescreen_codelab/step_06/pubspec.yaml @@ -6,7 +6,7 @@ publish_to: 'none' version: 1.0.0+1 environment: - sdk: '>=2.18.5 <3.0.0' + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/in_app_purchases/complete/app/pubspec.yaml b/in_app_purchases/complete/app/pubspec.yaml index a530da9278..03fb8b0677 100644 --- a/in_app_purchases/complete/app/pubspec.yaml +++ b/in_app_purchases/complete/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/complete/dart-backend/pubspec.yaml b/in_app_purchases/complete/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/complete/dart-backend/pubspec.yaml +++ b/in_app_purchases/complete/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/in_app_purchases/step_00/app/pubspec.yaml b/in_app_purchases/step_00/app/pubspec.yaml index df87d20a7f..5279dfd9ac 100644 --- a/in_app_purchases/step_00/app/pubspec.yaml +++ b/in_app_purchases/step_00/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0-0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/step_00/dart-backend/pubspec.yaml b/in_app_purchases/step_00/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/step_00/dart-backend/pubspec.yaml +++ b/in_app_purchases/step_00/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/in_app_purchases/step_07/app/pubspec.yaml b/in_app_purchases/step_07/app/pubspec.yaml index 8634e5a760..5279dfd9ac 100644 --- a/in_app_purchases/step_07/app/pubspec.yaml +++ b/in_app_purchases/step_07/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/step_07/dart-backend/pubspec.yaml b/in_app_purchases/step_07/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/step_07/dart-backend/pubspec.yaml +++ b/in_app_purchases/step_07/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/in_app_purchases/step_08/app/pubspec.yaml b/in_app_purchases/step_08/app/pubspec.yaml index 8634e5a760..5279dfd9ac 100644 --- a/in_app_purchases/step_08/app/pubspec.yaml +++ b/in_app_purchases/step_08/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/step_08/dart-backend/pubspec.yaml b/in_app_purchases/step_08/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/step_08/dart-backend/pubspec.yaml +++ b/in_app_purchases/step_08/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/in_app_purchases/step_09/app/pubspec.yaml b/in_app_purchases/step_09/app/pubspec.yaml index 8634e5a760..5279dfd9ac 100644 --- a/in_app_purchases/step_09/app/pubspec.yaml +++ b/in_app_purchases/step_09/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/step_09/dart-backend/pubspec.yaml b/in_app_purchases/step_09/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/step_09/dart-backend/pubspec.yaml +++ b/in_app_purchases/step_09/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/in_app_purchases/step_10/app/pubspec.yaml b/in_app_purchases/step_10/app/pubspec.yaml index 8634e5a760..5279dfd9ac 100644 --- a/in_app_purchases/step_10/app/pubspec.yaml +++ b/in_app_purchases/step_10/app/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: "none" version: 1.0.0+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: cloud_firestore: ^4.0.3 diff --git a/in_app_purchases/step_10/dart-backend/pubspec.yaml b/in_app_purchases/step_10/dart-backend/pubspec.yaml index de2a988c17..281658089a 100644 --- a/in_app_purchases/step_10/dart-backend/pubspec.yaml +++ b/in_app_purchases/step_10/dart-backend/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: googleapis: ^11.0.0 diff --git a/namer/codelab_rebuild.yaml b/namer/codelab_rebuild.yaml index 016c20587a..86be94ee34 100644 --- a/namer/codelab_rebuild.yaml +++ b/namer/codelab_rebuild.yaml @@ -20,7 +20,7 @@ steps: version: 0.0.1+1 environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: flutter: diff --git a/namer/step_03/android/app/build.gradle b/namer/step_03/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_03/android/app/build.gradle +++ b/namer/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_03/android/settings.gradle b/namer/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_03/android/settings.gradle +++ b/namer/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_03/ios/Runner.xcodeproj/project.pbxproj b/namer/step_03/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_03/macos/Runner.xcodeproj/project.pbxproj b/namer/step_03/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_03/windows/CMakeLists.txt b/namer/step_03/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_03/windows/CMakeLists.txt +++ b/namer/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_03/windows/runner/flutter_window.cpp b/namer/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_03/windows/runner/flutter_window.cpp +++ b/namer/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_04_a_widget/android/app/build.gradle b/namer/step_04_a_widget/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_04_a_widget/android/app/build.gradle +++ b/namer/step_04_a_widget/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_04_a_widget/android/settings.gradle b/namer/step_04_a_widget/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_04_a_widget/android/settings.gradle +++ b/namer/step_04_a_widget/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_04_a_widget/ios/Runner.xcodeproj/project.pbxproj b/namer/step_04_a_widget/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_04_a_widget/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_04_a_widget/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_04_a_widget/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_04_a_widget/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_04_a_widget/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_04_a_widget/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_04_a_widget/macos/Runner.xcodeproj/project.pbxproj b/namer/step_04_a_widget/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_04_a_widget/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_04_a_widget/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_04_a_widget/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_04_a_widget/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_04_a_widget/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_04_a_widget/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_04_a_widget/windows/CMakeLists.txt b/namer/step_04_a_widget/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_04_a_widget/windows/CMakeLists.txt +++ b/namer/step_04_a_widget/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_04_a_widget/windows/runner/flutter_window.cpp b/namer/step_04_a_widget/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_04_a_widget/windows/runner/flutter_window.cpp +++ b/namer/step_04_a_widget/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_04_b_behavior/android/app/build.gradle b/namer/step_04_b_behavior/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_04_b_behavior/android/app/build.gradle +++ b/namer/step_04_b_behavior/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_04_b_behavior/android/settings.gradle b/namer/step_04_b_behavior/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_04_b_behavior/android/settings.gradle +++ b/namer/step_04_b_behavior/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_04_b_behavior/ios/Runner.xcodeproj/project.pbxproj b/namer/step_04_b_behavior/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_04_b_behavior/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_04_b_behavior/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_04_b_behavior/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_04_b_behavior/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_04_b_behavior/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_04_b_behavior/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_04_b_behavior/macos/Runner.xcodeproj/project.pbxproj b/namer/step_04_b_behavior/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_04_b_behavior/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_04_b_behavior/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_04_b_behavior/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_04_b_behavior/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_04_b_behavior/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_04_b_behavior/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_04_b_behavior/windows/CMakeLists.txt b/namer/step_04_b_behavior/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_04_b_behavior/windows/CMakeLists.txt +++ b/namer/step_04_b_behavior/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_04_b_behavior/windows/runner/flutter_window.cpp b/namer/step_04_b_behavior/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_04_b_behavior/windows/runner/flutter_window.cpp +++ b/namer/step_04_b_behavior/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_a_pair/android/app/build.gradle b/namer/step_05_a_pair/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_a_pair/android/app/build.gradle +++ b/namer/step_05_a_pair/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_a_pair/android/settings.gradle b/namer/step_05_a_pair/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_a_pair/android/settings.gradle +++ b/namer/step_05_a_pair/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_a_pair/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_a_pair/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_a_pair/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_a_pair/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_a_pair/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_a_pair/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_a_pair/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_a_pair/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_a_pair/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_a_pair/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_a_pair/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_a_pair/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_a_pair/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_a_pair/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_a_pair/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_a_pair/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_a_pair/windows/CMakeLists.txt b/namer/step_05_a_pair/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_a_pair/windows/CMakeLists.txt +++ b/namer/step_05_a_pair/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_a_pair/windows/runner/flutter_window.cpp b/namer/step_05_a_pair/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_a_pair/windows/runner/flutter_window.cpp +++ b/namer/step_05_a_pair/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_b_extract/android/app/build.gradle b/namer/step_05_b_extract/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_b_extract/android/app/build.gradle +++ b/namer/step_05_b_extract/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_b_extract/android/settings.gradle b/namer/step_05_b_extract/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_b_extract/android/settings.gradle +++ b/namer/step_05_b_extract/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_b_extract/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_b_extract/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_b_extract/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_b_extract/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_b_extract/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_b_extract/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_b_extract/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_b_extract/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_b_extract/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_b_extract/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_b_extract/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_b_extract/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_b_extract/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_b_extract/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_b_extract/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_b_extract/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_b_extract/windows/CMakeLists.txt b/namer/step_05_b_extract/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_b_extract/windows/CMakeLists.txt +++ b/namer/step_05_b_extract/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_b_extract/windows/runner/flutter_window.cpp b/namer/step_05_b_extract/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_b_extract/windows/runner/flutter_window.cpp +++ b/namer/step_05_b_extract/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_c_card_padding/android/app/build.gradle b/namer/step_05_c_card_padding/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_c_card_padding/android/app/build.gradle +++ b/namer/step_05_c_card_padding/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_c_card_padding/android/settings.gradle b/namer/step_05_c_card_padding/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_c_card_padding/android/settings.gradle +++ b/namer/step_05_c_card_padding/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_c_card_padding/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_c_card_padding/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_c_card_padding/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_c_card_padding/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_c_card_padding/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_c_card_padding/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_c_card_padding/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_c_card_padding/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_c_card_padding/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_c_card_padding/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_c_card_padding/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_c_card_padding/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_c_card_padding/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_c_card_padding/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_c_card_padding/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_c_card_padding/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_c_card_padding/windows/CMakeLists.txt b/namer/step_05_c_card_padding/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_c_card_padding/windows/CMakeLists.txt +++ b/namer/step_05_c_card_padding/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_c_card_padding/windows/runner/flutter_window.cpp b/namer/step_05_c_card_padding/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_c_card_padding/windows/runner/flutter_window.cpp +++ b/namer/step_05_c_card_padding/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_d_theme/android/app/build.gradle b/namer/step_05_d_theme/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_d_theme/android/app/build.gradle +++ b/namer/step_05_d_theme/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_d_theme/android/settings.gradle b/namer/step_05_d_theme/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_d_theme/android/settings.gradle +++ b/namer/step_05_d_theme/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_d_theme/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_d_theme/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_d_theme/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_d_theme/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_d_theme/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_d_theme/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_d_theme/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_d_theme/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_d_theme/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_d_theme/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_d_theme/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_d_theme/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_d_theme/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_d_theme/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_d_theme/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_d_theme/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_d_theme/windows/CMakeLists.txt b/namer/step_05_d_theme/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_d_theme/windows/CMakeLists.txt +++ b/namer/step_05_d_theme/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_d_theme/windows/runner/flutter_window.cpp b/namer/step_05_d_theme/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_d_theme/windows/runner/flutter_window.cpp +++ b/namer/step_05_d_theme/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_e_text_style/android/app/build.gradle b/namer/step_05_e_text_style/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_e_text_style/android/app/build.gradle +++ b/namer/step_05_e_text_style/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_e_text_style/android/settings.gradle b/namer/step_05_e_text_style/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_e_text_style/android/settings.gradle +++ b/namer/step_05_e_text_style/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_e_text_style/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_e_text_style/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_e_text_style/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_e_text_style/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_e_text_style/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_e_text_style/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_e_text_style/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_e_text_style/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_e_text_style/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_e_text_style/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_e_text_style/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_e_text_style/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_e_text_style/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_e_text_style/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_e_text_style/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_e_text_style/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_e_text_style/windows/CMakeLists.txt b/namer/step_05_e_text_style/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_e_text_style/windows/CMakeLists.txt +++ b/namer/step_05_e_text_style/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_e_text_style/windows/runner/flutter_window.cpp b/namer/step_05_e_text_style/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_e_text_style/windows/runner/flutter_window.cpp +++ b/namer/step_05_e_text_style/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_f_accessibility/android/app/build.gradle b/namer/step_05_f_accessibility/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_f_accessibility/android/app/build.gradle +++ b/namer/step_05_f_accessibility/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_f_accessibility/android/settings.gradle b/namer/step_05_f_accessibility/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_f_accessibility/android/settings.gradle +++ b/namer/step_05_f_accessibility/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_f_accessibility/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_f_accessibility/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_f_accessibility/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_f_accessibility/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_f_accessibility/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_f_accessibility/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_f_accessibility/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_f_accessibility/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_f_accessibility/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_f_accessibility/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_f_accessibility/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_f_accessibility/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_f_accessibility/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_f_accessibility/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_f_accessibility/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_f_accessibility/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_f_accessibility/windows/CMakeLists.txt b/namer/step_05_f_accessibility/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_f_accessibility/windows/CMakeLists.txt +++ b/namer/step_05_f_accessibility/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_f_accessibility/windows/runner/flutter_window.cpp b/namer/step_05_f_accessibility/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_f_accessibility/windows/runner/flutter_window.cpp +++ b/namer/step_05_f_accessibility/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_g_center_vertical/android/app/build.gradle b/namer/step_05_g_center_vertical/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_g_center_vertical/android/app/build.gradle +++ b/namer/step_05_g_center_vertical/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_g_center_vertical/android/settings.gradle b/namer/step_05_g_center_vertical/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_g_center_vertical/android/settings.gradle +++ b/namer/step_05_g_center_vertical/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_g_center_vertical/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_g_center_vertical/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_g_center_vertical/windows/CMakeLists.txt b/namer/step_05_g_center_vertical/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_g_center_vertical/windows/CMakeLists.txt +++ b/namer/step_05_g_center_vertical/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_g_center_vertical/windows/runner/flutter_window.cpp b/namer/step_05_g_center_vertical/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_g_center_vertical/windows/runner/flutter_window.cpp +++ b/namer/step_05_g_center_vertical/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_h_center_horizontal/android/app/build.gradle b/namer/step_05_h_center_horizontal/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_h_center_horizontal/android/app/build.gradle +++ b/namer/step_05_h_center_horizontal/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_h_center_horizontal/android/settings.gradle b/namer/step_05_h_center_horizontal/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_h_center_horizontal/android/settings.gradle +++ b/namer/step_05_h_center_horizontal/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_h_center_horizontal/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_h_center_horizontal/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_h_center_horizontal/windows/CMakeLists.txt b/namer/step_05_h_center_horizontal/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_h_center_horizontal/windows/CMakeLists.txt +++ b/namer/step_05_h_center_horizontal/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_h_center_horizontal/windows/runner/flutter_window.cpp b/namer/step_05_h_center_horizontal/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_h_center_horizontal/windows/runner/flutter_window.cpp +++ b/namer/step_05_h_center_horizontal/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_05_i_optional_changes/android/app/build.gradle b/namer/step_05_i_optional_changes/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_05_i_optional_changes/android/app/build.gradle +++ b/namer/step_05_i_optional_changes/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_05_i_optional_changes/android/settings.gradle b/namer/step_05_i_optional_changes/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_05_i_optional_changes/android/settings.gradle +++ b/namer/step_05_i_optional_changes/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/project.pbxproj b/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_i_optional_changes/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/project.pbxproj b/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_05_i_optional_changes/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_05_i_optional_changes/windows/CMakeLists.txt b/namer/step_05_i_optional_changes/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_05_i_optional_changes/windows/CMakeLists.txt +++ b/namer/step_05_i_optional_changes/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_05_i_optional_changes/windows/runner/flutter_window.cpp b/namer/step_05_i_optional_changes/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_05_i_optional_changes/windows/runner/flutter_window.cpp +++ b/namer/step_05_i_optional_changes/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_06_a_business_logic/android/app/build.gradle b/namer/step_06_a_business_logic/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_06_a_business_logic/android/app/build.gradle +++ b/namer/step_06_a_business_logic/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_06_a_business_logic/android/settings.gradle b/namer/step_06_a_business_logic/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_06_a_business_logic/android/settings.gradle +++ b/namer/step_06_a_business_logic/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_06_a_business_logic/ios/Runner.xcodeproj/project.pbxproj b/namer/step_06_a_business_logic/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_06_a_business_logic/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_a_business_logic/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_06_a_business_logic/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_a_business_logic/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_06_a_business_logic/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_a_business_logic/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_06_a_business_logic/macos/Runner.xcodeproj/project.pbxproj b/namer/step_06_a_business_logic/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_06_a_business_logic/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_a_business_logic/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_06_a_business_logic/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_a_business_logic/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_06_a_business_logic/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_a_business_logic/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_06_a_business_logic/windows/CMakeLists.txt b/namer/step_06_a_business_logic/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_06_a_business_logic/windows/CMakeLists.txt +++ b/namer/step_06_a_business_logic/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_06_a_business_logic/windows/runner/flutter_window.cpp b/namer/step_06_a_business_logic/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_06_a_business_logic/windows/runner/flutter_window.cpp +++ b/namer/step_06_a_business_logic/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_06_b_add_row/android/app/build.gradle b/namer/step_06_b_add_row/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_06_b_add_row/android/app/build.gradle +++ b/namer/step_06_b_add_row/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_06_b_add_row/android/settings.gradle b/namer/step_06_b_add_row/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_06_b_add_row/android/settings.gradle +++ b/namer/step_06_b_add_row/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_06_b_add_row/ios/Runner.xcodeproj/project.pbxproj b/namer/step_06_b_add_row/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_06_b_add_row/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_b_add_row/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_06_b_add_row/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_b_add_row/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_06_b_add_row/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_b_add_row/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_06_b_add_row/macos/Runner.xcodeproj/project.pbxproj b/namer/step_06_b_add_row/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_06_b_add_row/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_b_add_row/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_06_b_add_row/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_b_add_row/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_06_b_add_row/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_b_add_row/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_06_b_add_row/windows/CMakeLists.txt b/namer/step_06_b_add_row/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_06_b_add_row/windows/CMakeLists.txt +++ b/namer/step_06_b_add_row/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_06_b_add_row/windows/runner/flutter_window.cpp b/namer/step_06_b_add_row/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_06_b_add_row/windows/runner/flutter_window.cpp +++ b/namer/step_06_b_add_row/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_06_c_add_like_button/android/app/build.gradle b/namer/step_06_c_add_like_button/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_06_c_add_like_button/android/app/build.gradle +++ b/namer/step_06_c_add_like_button/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_06_c_add_like_button/android/settings.gradle b/namer/step_06_c_add_like_button/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_06_c_add_like_button/android/settings.gradle +++ b/namer/step_06_c_add_like_button/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/project.pbxproj b/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_c_add_like_button/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/project.pbxproj b/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_06_c_add_like_button/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_06_c_add_like_button/windows/CMakeLists.txt b/namer/step_06_c_add_like_button/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_06_c_add_like_button/windows/CMakeLists.txt +++ b/namer/step_06_c_add_like_button/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_06_c_add_like_button/windows/runner/flutter_window.cpp b/namer/step_06_c_add_like_button/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_06_c_add_like_button/windows/runner/flutter_window.cpp +++ b/namer/step_06_c_add_like_button/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_07_a_split_my_home_page/android/app/build.gradle b/namer/step_07_a_split_my_home_page/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_07_a_split_my_home_page/android/app/build.gradle +++ b/namer/step_07_a_split_my_home_page/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_07_a_split_my_home_page/android/settings.gradle b/namer/step_07_a_split_my_home_page/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_07_a_split_my_home_page/android/settings.gradle +++ b/namer/step_07_a_split_my_home_page/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/project.pbxproj b/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_a_split_my_home_page/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/project.pbxproj b/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_a_split_my_home_page/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_07_a_split_my_home_page/windows/CMakeLists.txt b/namer/step_07_a_split_my_home_page/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_07_a_split_my_home_page/windows/CMakeLists.txt +++ b/namer/step_07_a_split_my_home_page/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_07_a_split_my_home_page/windows/runner/flutter_window.cpp b/namer/step_07_a_split_my_home_page/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_07_a_split_my_home_page/windows/runner/flutter_window.cpp +++ b/namer/step_07_a_split_my_home_page/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_07_b_convert_to_stateful/android/app/build.gradle b/namer/step_07_b_convert_to_stateful/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_07_b_convert_to_stateful/android/app/build.gradle +++ b/namer/step_07_b_convert_to_stateful/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_07_b_convert_to_stateful/android/settings.gradle b/namer/step_07_b_convert_to_stateful/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_07_b_convert_to_stateful/android/settings.gradle +++ b/namer/step_07_b_convert_to_stateful/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/project.pbxproj b/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_b_convert_to_stateful/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/project.pbxproj b/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_b_convert_to_stateful/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_07_b_convert_to_stateful/windows/CMakeLists.txt b/namer/step_07_b_convert_to_stateful/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_07_b_convert_to_stateful/windows/CMakeLists.txt +++ b/namer/step_07_b_convert_to_stateful/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_07_b_convert_to_stateful/windows/runner/flutter_window.cpp b/namer/step_07_b_convert_to_stateful/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_07_b_convert_to_stateful/windows/runner/flutter_window.cpp +++ b/namer/step_07_b_convert_to_stateful/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_07_c_add_selectedindex/android/app/build.gradle b/namer/step_07_c_add_selectedindex/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_07_c_add_selectedindex/android/app/build.gradle +++ b/namer/step_07_c_add_selectedindex/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_07_c_add_selectedindex/android/settings.gradle b/namer/step_07_c_add_selectedindex/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_07_c_add_selectedindex/android/settings.gradle +++ b/namer/step_07_c_add_selectedindex/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/project.pbxproj b/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_c_add_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/project.pbxproj b/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_c_add_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_07_c_add_selectedindex/windows/CMakeLists.txt b/namer/step_07_c_add_selectedindex/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_07_c_add_selectedindex/windows/CMakeLists.txt +++ b/namer/step_07_c_add_selectedindex/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_07_c_add_selectedindex/windows/runner/flutter_window.cpp b/namer/step_07_c_add_selectedindex/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_07_c_add_selectedindex/windows/runner/flutter_window.cpp +++ b/namer/step_07_c_add_selectedindex/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_07_d_use_selectedindex/android/app/build.gradle b/namer/step_07_d_use_selectedindex/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_07_d_use_selectedindex/android/app/build.gradle +++ b/namer/step_07_d_use_selectedindex/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_07_d_use_selectedindex/android/settings.gradle b/namer/step_07_d_use_selectedindex/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_07_d_use_selectedindex/android/settings.gradle +++ b/namer/step_07_d_use_selectedindex/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/project.pbxproj b/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_d_use_selectedindex/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/project.pbxproj b/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_d_use_selectedindex/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_07_d_use_selectedindex/windows/CMakeLists.txt b/namer/step_07_d_use_selectedindex/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_07_d_use_selectedindex/windows/CMakeLists.txt +++ b/namer/step_07_d_use_selectedindex/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_07_d_use_selectedindex/windows/runner/flutter_window.cpp b/namer/step_07_d_use_selectedindex/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_07_d_use_selectedindex/windows/runner/flutter_window.cpp +++ b/namer/step_07_d_use_selectedindex/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_07_e_add_layout_builder/android/app/build.gradle b/namer/step_07_e_add_layout_builder/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_07_e_add_layout_builder/android/app/build.gradle +++ b/namer/step_07_e_add_layout_builder/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_07_e_add_layout_builder/android/settings.gradle b/namer/step_07_e_add_layout_builder/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_07_e_add_layout_builder/android/settings.gradle +++ b/namer/step_07_e_add_layout_builder/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/project.pbxproj b/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_e_add_layout_builder/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/project.pbxproj b/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_07_e_add_layout_builder/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_07_e_add_layout_builder/windows/CMakeLists.txt b/namer/step_07_e_add_layout_builder/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_07_e_add_layout_builder/windows/CMakeLists.txt +++ b/namer/step_07_e_add_layout_builder/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_07_e_add_layout_builder/windows/runner/flutter_window.cpp b/namer/step_07_e_add_layout_builder/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_07_e_add_layout_builder/windows/runner/flutter_window.cpp +++ b/namer/step_07_e_add_layout_builder/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/namer/step_08/android/app/build.gradle b/namer/step_08/android/app/build.gradle index f3dfbee6fb..4de2b3db83 100644 --- a/namer/step_08/android/app/build.gradle +++ b/namer/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.namer_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/namer/step_08/android/settings.gradle b/namer/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/namer/step_08/android/settings.gradle +++ b/namer/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/namer/step_08/ios/Runner.xcodeproj/project.pbxproj b/namer/step_08/ios/Runner.xcodeproj/project.pbxproj index d4fab29b48..b67f497ab9 100644 --- a/namer/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/namer/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/namer/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/namer/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/namer/step_08/macos/Runner.xcodeproj/project.pbxproj b/namer/step_08/macos/Runner.xcodeproj/project.pbxproj index 7ca0aa5b14..203fa1c2d1 100644 --- a/namer/step_08/macos/Runner.xcodeproj/project.pbxproj +++ b/namer/step_08/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/namer/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/namer/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 1adbe04e80..a163242725 100644 --- a/namer/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/namer/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ // The value below is injected by flutter build, do not touch. - var serviceWorkerVersion = null; + const serviceWorkerVersion = null; diff --git a/namer/step_08/windows/CMakeLists.txt b/namer/step_08/windows/CMakeLists.txt index 91908eb2f8..bdf9bf9313 100644 --- a/namer/step_08/windows/CMakeLists.txt +++ b/namer/step_08/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "namer_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/namer/step_08/windows/runner/flutter_window.cpp b/namer/step_08/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/namer/step_08/windows/runner/flutter_window.cpp +++ b/namer/step_08/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/codelab_rebuild.yaml b/next-gen-ui/codelab_rebuild.yaml index ba7b6e79ac..bb6f32ef27 100644 --- a/next-gen-ui/codelab_rebuild.yaml +++ b/next-gen-ui/codelab_rebuild.yaml @@ -79,9 +79,9 @@ steps: - name: patch ios/Runner/Info.plist path: next_gen_ui/ios/Runner/Info.plist patch-u: | - --- a/next-gen-ui/step_06/ios/Runner/Info.plist - +++ b/next-gen-ui/step_06/ios/Runner/Info.plist - @@ -47,5 +47,7 @@ + --- b/next-gen-ui/step_01/ios/Runner/Info.plist + +++ a/next-gen-ui/step_01/ios/Runner/Info.plist + @@ -45,5 +45,7 @@ UIApplicationSupportsIndirectInputEvents @@ -3383,7 +3383,7 @@ steps: import 'title_screen_ui.dart'; class TitleScreen extends StatefulWidget { - @@ -202,6 +203,16 @@ class _TitleScreenState extends State + @@ -199,6 +200,16 @@ class _TitleScreenState extends State lightAmt: _finalEmitLightAmt, ), diff --git a/next-gen-ui/step_01/android/app/build.gradle b/next-gen-ui/step_01/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_01/android/app/build.gradle +++ b/next-gen-ui/step_01/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_01/android/settings.gradle b/next-gen-ui/step_01/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_01/android/settings.gradle +++ b/next-gen-ui/step_01/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_01/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_01/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_01/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_01/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_01/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_01/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_01/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_01/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_01/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_01/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_01/web/index.html b/next-gen-ui/step_01/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_01/web/index.html +++ b/next-gen-ui/step_01/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_01/windows/CMakeLists.txt b/next-gen-ui/step_01/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_01/windows/CMakeLists.txt +++ b/next-gen-ui/step_01/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_01/windows/runner/flutter_window.cpp b/next-gen-ui/step_01/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_01/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_01/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_02_a/android/app/build.gradle b/next-gen-ui/step_02_a/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_02_a/android/app/build.gradle +++ b/next-gen-ui/step_02_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_02_a/android/settings.gradle b/next-gen-ui/step_02_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_02_a/android/settings.gradle +++ b/next-gen-ui/step_02_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_02_a/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_a/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_02_a/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_02_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_02_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_02_a/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_a/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_02_a/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_02_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_02_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_02_a/web/index.html b/next-gen-ui/step_02_a/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_02_a/web/index.html +++ b/next-gen-ui/step_02_a/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_02_a/windows/CMakeLists.txt b/next-gen-ui/step_02_a/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_02_a/windows/CMakeLists.txt +++ b/next-gen-ui/step_02_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_02_a/windows/runner/flutter_window.cpp b/next-gen-ui/step_02_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_02_a/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_02_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_02_b/android/app/build.gradle b/next-gen-ui/step_02_b/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_02_b/android/app/build.gradle +++ b/next-gen-ui/step_02_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_02_b/android/settings.gradle b/next-gen-ui/step_02_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_02_b/android/settings.gradle +++ b/next-gen-ui/step_02_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_02_b/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_b/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_02_b/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_02_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_02_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_02_b/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_b/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_02_b/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_02_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_02_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_02_b/web/index.html b/next-gen-ui/step_02_b/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_02_b/web/index.html +++ b/next-gen-ui/step_02_b/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_02_b/windows/CMakeLists.txt b/next-gen-ui/step_02_b/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_02_b/windows/CMakeLists.txt +++ b/next-gen-ui/step_02_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_02_b/windows/runner/flutter_window.cpp b/next-gen-ui/step_02_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_02_b/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_02_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_02_c/android/app/build.gradle b/next-gen-ui/step_02_c/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_02_c/android/app/build.gradle +++ b/next-gen-ui/step_02_c/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_02_c/android/settings.gradle b/next-gen-ui/step_02_c/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_02_c/android/settings.gradle +++ b/next-gen-ui/step_02_c/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_02_c/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_c/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_02_c/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_c/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_02_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_02_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_02_c/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_02_c/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_02_c/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_02_c/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_02_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_02_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_02_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_02_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_02_c/web/index.html b/next-gen-ui/step_02_c/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_02_c/web/index.html +++ b/next-gen-ui/step_02_c/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_02_c/windows/CMakeLists.txt b/next-gen-ui/step_02_c/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_02_c/windows/CMakeLists.txt +++ b/next-gen-ui/step_02_c/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_02_c/windows/runner/flutter_window.cpp b/next-gen-ui/step_02_c/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_02_c/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_02_c/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_03_a/android/app/build.gradle b/next-gen-ui/step_03_a/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_03_a/android/app/build.gradle +++ b/next-gen-ui/step_03_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_03_a/android/settings.gradle b/next-gen-ui/step_03_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_03_a/android/settings.gradle +++ b/next-gen-ui/step_03_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_03_a/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_a/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_03_a/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_03_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_03_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_03_a/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_a/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_03_a/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_03_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_03_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_03_a/web/index.html b/next-gen-ui/step_03_a/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_03_a/web/index.html +++ b/next-gen-ui/step_03_a/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_03_a/windows/CMakeLists.txt b/next-gen-ui/step_03_a/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_03_a/windows/CMakeLists.txt +++ b/next-gen-ui/step_03_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_03_a/windows/runner/flutter_window.cpp b/next-gen-ui/step_03_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_03_a/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_03_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_03_b/android/app/build.gradle b/next-gen-ui/step_03_b/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_03_b/android/app/build.gradle +++ b/next-gen-ui/step_03_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_03_b/android/settings.gradle b/next-gen-ui/step_03_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_03_b/android/settings.gradle +++ b/next-gen-ui/step_03_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_03_b/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_b/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_03_b/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_03_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_03_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_03_b/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_b/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_03_b/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_03_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_03_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_03_b/web/index.html b/next-gen-ui/step_03_b/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_03_b/web/index.html +++ b/next-gen-ui/step_03_b/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_03_b/windows/CMakeLists.txt b/next-gen-ui/step_03_b/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_03_b/windows/CMakeLists.txt +++ b/next-gen-ui/step_03_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_03_b/windows/runner/flutter_window.cpp b/next-gen-ui/step_03_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_03_b/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_03_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_03_c/android/app/build.gradle b/next-gen-ui/step_03_c/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_03_c/android/app/build.gradle +++ b/next-gen-ui/step_03_c/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_03_c/android/settings.gradle b/next-gen-ui/step_03_c/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_03_c/android/settings.gradle +++ b/next-gen-ui/step_03_c/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_03_c/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_c/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_03_c/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_c/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_03_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_03_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_03_c/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_03_c/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_03_c/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_03_c/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_03_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_03_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_03_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_03_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_03_c/web/index.html b/next-gen-ui/step_03_c/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_03_c/web/index.html +++ b/next-gen-ui/step_03_c/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_03_c/windows/CMakeLists.txt b/next-gen-ui/step_03_c/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_03_c/windows/CMakeLists.txt +++ b/next-gen-ui/step_03_c/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_03_c/windows/runner/flutter_window.cpp b/next-gen-ui/step_03_c/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_03_c/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_03_c/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_04_a/android/app/build.gradle b/next-gen-ui/step_04_a/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_04_a/android/app/build.gradle +++ b/next-gen-ui/step_04_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_04_a/android/settings.gradle b/next-gen-ui/step_04_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_04_a/android/settings.gradle +++ b/next-gen-ui/step_04_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_04_a/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_a/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_04_a/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_04_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_04_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_04_a/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_a/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_04_a/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_04_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_04_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_04_a/web/index.html b/next-gen-ui/step_04_a/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_04_a/web/index.html +++ b/next-gen-ui/step_04_a/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_04_a/windows/CMakeLists.txt b/next-gen-ui/step_04_a/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_04_a/windows/CMakeLists.txt +++ b/next-gen-ui/step_04_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_04_a/windows/runner/flutter_window.cpp b/next-gen-ui/step_04_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_04_a/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_04_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_04_b/android/app/build.gradle b/next-gen-ui/step_04_b/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_04_b/android/app/build.gradle +++ b/next-gen-ui/step_04_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_04_b/android/settings.gradle b/next-gen-ui/step_04_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_04_b/android/settings.gradle +++ b/next-gen-ui/step_04_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_04_b/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_b/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_04_b/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_04_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_04_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_04_b/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_b/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_04_b/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_04_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_04_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_04_b/web/index.html b/next-gen-ui/step_04_b/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_04_b/web/index.html +++ b/next-gen-ui/step_04_b/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_04_b/windows/CMakeLists.txt b/next-gen-ui/step_04_b/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_04_b/windows/CMakeLists.txt +++ b/next-gen-ui/step_04_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_04_b/windows/runner/flutter_window.cpp b/next-gen-ui/step_04_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_04_b/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_04_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_04_c/android/app/build.gradle b/next-gen-ui/step_04_c/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_04_c/android/app/build.gradle +++ b/next-gen-ui/step_04_c/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_04_c/android/settings.gradle b/next-gen-ui/step_04_c/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_04_c/android/settings.gradle +++ b/next-gen-ui/step_04_c/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_04_c/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_c/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_04_c/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_c/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_04_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_04_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_c/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_04_c/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_c/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_04_c/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_c/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_04_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_04_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_c/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_04_c/web/index.html b/next-gen-ui/step_04_c/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_04_c/web/index.html +++ b/next-gen-ui/step_04_c/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_04_c/windows/CMakeLists.txt b/next-gen-ui/step_04_c/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_04_c/windows/CMakeLists.txt +++ b/next-gen-ui/step_04_c/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_04_c/windows/runner/flutter_window.cpp b/next-gen-ui/step_04_c/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_04_c/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_04_c/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_04_d/android/app/build.gradle b/next-gen-ui/step_04_d/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_04_d/android/app/build.gradle +++ b/next-gen-ui/step_04_d/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_04_d/android/settings.gradle b/next-gen-ui/step_04_d/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_04_d/android/settings.gradle +++ b/next-gen-ui/step_04_d/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_04_d/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_d/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_04_d/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_d/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_04_d/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_d/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_04_d/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_d/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_04_d/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_d/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_04_d/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_d/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_04_d/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_d/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_04_d/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_d/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_04_d/web/index.html b/next-gen-ui/step_04_d/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_04_d/web/index.html +++ b/next-gen-ui/step_04_d/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_04_d/windows/CMakeLists.txt b/next-gen-ui/step_04_d/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_04_d/windows/CMakeLists.txt +++ b/next-gen-ui/step_04_d/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_04_d/windows/runner/flutter_window.cpp b/next-gen-ui/step_04_d/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_04_d/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_04_d/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_04_e/android/app/build.gradle b/next-gen-ui/step_04_e/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_04_e/android/app/build.gradle +++ b/next-gen-ui/step_04_e/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_04_e/android/settings.gradle b/next-gen-ui/step_04_e/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_04_e/android/settings.gradle +++ b/next-gen-ui/step_04_e/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_04_e/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_e/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_04_e/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_e/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_04_e/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_e/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_04_e/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_e/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_04_e/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_04_e/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_04_e/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_04_e/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_04_e/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_04_e/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_04_e/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_04_e/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_04_e/web/index.html b/next-gen-ui/step_04_e/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_04_e/web/index.html +++ b/next-gen-ui/step_04_e/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_04_e/windows/CMakeLists.txt b/next-gen-ui/step_04_e/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_04_e/windows/CMakeLists.txt +++ b/next-gen-ui/step_04_e/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_04_e/windows/runner/flutter_window.cpp b/next-gen-ui/step_04_e/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_04_e/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_04_e/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_05_a/android/app/build.gradle b/next-gen-ui/step_05_a/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_05_a/android/app/build.gradle +++ b/next-gen-ui/step_05_a/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_05_a/android/settings.gradle b/next-gen-ui/step_05_a/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_05_a/android/settings.gradle +++ b/next-gen-ui/step_05_a/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_05_a/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_05_a/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_05_a/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_05_a/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_05_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_05_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_05_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_05_a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_05_a/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_05_a/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_05_a/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_05_a/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_05_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_05_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_05_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_05_a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_05_a/web/index.html b/next-gen-ui/step_05_a/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_05_a/web/index.html +++ b/next-gen-ui/step_05_a/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_05_a/windows/CMakeLists.txt b/next-gen-ui/step_05_a/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_05_a/windows/CMakeLists.txt +++ b/next-gen-ui/step_05_a/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_05_a/windows/runner/flutter_window.cpp b/next-gen-ui/step_05_a/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_05_a/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_05_a/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_05_b/android/app/build.gradle b/next-gen-ui/step_05_b/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_05_b/android/app/build.gradle +++ b/next-gen-ui/step_05_b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_05_b/android/settings.gradle b/next-gen-ui/step_05_b/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_05_b/android/settings.gradle +++ b/next-gen-ui/step_05_b/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_05_b/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_05_b/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_05_b/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_05_b/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_05_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_05_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_05_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_05_b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_05_b/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_05_b/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_05_b/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_05_b/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_05_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_05_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_05_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_05_b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_05_b/web/index.html b/next-gen-ui/step_05_b/web/index.html index 3b452cc724..2b56a71a5a 100644 --- a/next-gen-ui/step_05_b/web/index.html +++ b/next-gen-ui/step_05_b/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_05_b/windows/CMakeLists.txt b/next-gen-ui/step_05_b/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_05_b/windows/CMakeLists.txt +++ b/next-gen-ui/step_05_b/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_05_b/windows/runner/flutter_window.cpp b/next-gen-ui/step_05_b/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_05_b/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_05_b/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/next-gen-ui/step_06/android/app/build.gradle b/next-gen-ui/step_06/android/app/build.gradle index f16c600bd4..592da68fe5 100644 --- a/next-gen-ui/step_06/android/app/build.gradle +++ b/next-gen-ui/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.next_gen_ui" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/next-gen-ui/step_06/android/settings.gradle b/next-gen-ui/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/next-gen-ui/step_06/android/settings.gradle +++ b/next-gen-ui/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/next-gen-ui/step_06/ios/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_06/ios/Runner.xcodeproj/project.pbxproj index 4c18b3629a..dad3a280d1 100644 --- a/next-gen-ui/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/next-gen-ui/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/next-gen-ui/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/next-gen-ui/step_06/macos/Runner.xcodeproj/project.pbxproj b/next-gen-ui/step_06/macos/Runner.xcodeproj/project.pbxproj index 2663ecf48a..a2323382bd 100644 --- a/next-gen-ui/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/next-gen-ui/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/next-gen-ui/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/next-gen-ui/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index dd51c37c40..4b1ee73f8a 100644 --- a/next-gen-ui/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/next-gen-ui/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: cupertino_icons: ^1.0.5 @@ -12,9 +12,9 @@ dependencies: flextras: ^1.0.0 flutter: sdk: flutter - flutter_animate: ^4.1.1+1 - focusable_control_builder: ^1.0.1+1 - gap: ^3.0.0 + flutter_animate: ^4.2.0+1 + focusable_control_builder: ^1.0.2+1 + gap: ^3.0.1 particle_field: ^1.0.0 provider: ^6.0.5 rnd: ^0.2.0 diff --git a/next-gen-ui/step_06/web/index.html b/next-gen-ui/step_06/web/index.html index 7c326d49f5..ea88f14b03 100644 --- a/next-gen-ui/step_06/web/index.html +++ b/next-gen-ui/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/next-gen-ui/step_06/windows/CMakeLists.txt b/next-gen-ui/step_06/windows/CMakeLists.txt index 0868bc6ee1..9f2cabe886 100644 --- a/next-gen-ui/step_06/windows/CMakeLists.txt +++ b/next-gen-ui/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "next_gen_ui") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/next-gen-ui/step_06/windows/runner/flutter_window.cpp b/next-gen-ui/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/next-gen-ui/step_06/windows/runner/flutter_window.cpp +++ b/next-gen-ui/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/star_counter/step_04/pubspec.yaml b/star_counter/step_04/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_04/pubspec.yaml +++ b/star_counter/step_04/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_04/web/index.html b/star_counter/step_04/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_04/web/index.html +++ b/star_counter/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_05/pubspec.yaml b/star_counter/step_05/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_05/pubspec.yaml +++ b/star_counter/step_05/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_05/web/index.html b/star_counter/step_05/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_05/web/index.html +++ b/star_counter/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_06/pubspec.yaml b/star_counter/step_06/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_06/pubspec.yaml +++ b/star_counter/step_06/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_06/web/index.html b/star_counter/step_06/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_06/web/index.html +++ b/star_counter/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_07/pubspec.yaml b/star_counter/step_07/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_07/pubspec.yaml +++ b/star_counter/step_07/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_07/web/index.html b/star_counter/step_07/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_07/web/index.html +++ b/star_counter/step_07/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_08/pubspec.yaml b/star_counter/step_08/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_08/pubspec.yaml +++ b/star_counter/step_08/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_08/web/index.html b/star_counter/step_08/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_08/web/index.html +++ b/star_counter/step_08/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_09/pubspec.yaml b/star_counter/step_09/pubspec.yaml index c66dfef84f..40216dae24 100644 --- a/star_counter/step_09/pubspec.yaml +++ b/star_counter/step_09/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,8 +30,8 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 diff --git a/star_counter/step_09/web/index.html b/star_counter/step_09/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_09/web/index.html +++ b/star_counter/step_09/web/index.html @@ -34,7 +34,7 @@ diff --git a/star_counter/step_10/pubspec.yaml b/star_counter/step_10/pubspec.yaml index 1fc9161d32..f1a8f5a87a 100644 --- a/star_counter/step_10/pubspec.yaml +++ b/star_counter/step_10/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.0 <4.0.0' + sdk: ^3.1.0-0 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -30,10 +30,10 @@ environment: dependencies: flutter: sdk: flutter - flutter_markdown: ^0.6.14 - github: ^9.14.0 + flutter_markdown: ^0.6.17 + github: ^9.17.0 intl: ^0.18.1 - url_launcher: ^6.1.11 + url_launcher: ^6.1.12 # The following adds the Cupertino Icons font to your application. diff --git a/star_counter/step_10/web/index.html b/star_counter/step_10/web/index.html index 9074a23303..190bcd67d1 100644 --- a/star_counter/step_10/web/index.html +++ b/star_counter/step_10/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_03/android/app/build.gradle b/testing_codelab/step_03/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_03/android/app/build.gradle +++ b/testing_codelab/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_03/android/settings.gradle b/testing_codelab/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_03/android/settings.gradle +++ b/testing_codelab/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_03/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_03/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_03/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_03/macos/Runner.xcodeproj/project.pbxproj index c1b29868d2..5069b0ed4a 100644 --- a/testing_codelab/step_03/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_03/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/testing_codelab/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_03/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_03/web/index.html b/testing_codelab/step_03/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_03/web/index.html +++ b/testing_codelab/step_03/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_03/windows/CMakeLists.txt b/testing_codelab/step_03/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_03/windows/CMakeLists.txt +++ b/testing_codelab/step_03/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_03/windows/runner/flutter_window.cpp b/testing_codelab/step_03/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_03/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_03/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/testing_codelab/step_04/android/app/build.gradle b/testing_codelab/step_04/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_04/android/app/build.gradle +++ b/testing_codelab/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_04/android/settings.gradle b/testing_codelab/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_04/android/settings.gradle +++ b/testing_codelab/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_04/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_04/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_04/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_04/macos/Runner.xcodeproj/project.pbxproj index c1b29868d2..5069b0ed4a 100644 --- a/testing_codelab/step_04/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_04/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/testing_codelab/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_04/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_04/web/index.html b/testing_codelab/step_04/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_04/web/index.html +++ b/testing_codelab/step_04/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_04/windows/CMakeLists.txt b/testing_codelab/step_04/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_04/windows/CMakeLists.txt +++ b/testing_codelab/step_04/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_04/windows/runner/flutter_window.cpp b/testing_codelab/step_04/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_04/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_04/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/testing_codelab/step_05/android/app/build.gradle b/testing_codelab/step_05/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_05/android/app/build.gradle +++ b/testing_codelab/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_05/android/settings.gradle b/testing_codelab/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_05/android/settings.gradle +++ b/testing_codelab/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_05/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_05/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_05/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_05/macos/Runner.xcodeproj/project.pbxproj index c1b29868d2..5069b0ed4a 100644 --- a/testing_codelab/step_05/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_05/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/testing_codelab/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_05/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_05/web/index.html b/testing_codelab/step_05/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_05/web/index.html +++ b/testing_codelab/step_05/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_05/windows/CMakeLists.txt b/testing_codelab/step_05/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_05/windows/CMakeLists.txt +++ b/testing_codelab/step_05/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_05/windows/runner/flutter_window.cpp b/testing_codelab/step_05/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_05/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_05/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/testing_codelab/step_06/android/app/build.gradle b/testing_codelab/step_06/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_06/android/app/build.gradle +++ b/testing_codelab/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_06/android/settings.gradle b/testing_codelab/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_06/android/settings.gradle +++ b/testing_codelab/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_06/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_06/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_06/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_06/macos/Runner.xcodeproj/project.pbxproj index c1b29868d2..5069b0ed4a 100644 --- a/testing_codelab/step_06/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_06/macos/Runner.xcodeproj/project.pbxproj @@ -227,7 +227,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { diff --git a/testing_codelab/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_06/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_06/web/index.html b/testing_codelab/step_06/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_06/web/index.html +++ b/testing_codelab/step_06/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_06/windows/CMakeLists.txt b/testing_codelab/step_06/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_06/windows/CMakeLists.txt +++ b/testing_codelab/step_06/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_06/windows/runner/flutter_window.cpp b/testing_codelab/step_06/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_06/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_06/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/testing_codelab/step_07/android/app/build.gradle b/testing_codelab/step_07/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_07/android/app/build.gradle +++ b/testing_codelab/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_07/android/settings.gradle b/testing_codelab/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_07/android/settings.gradle +++ b/testing_codelab/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_07/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_07/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_07/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_07/macos/Runner.xcodeproj/project.pbxproj index 52c3a47291..b4135b6396 100644 --- a/testing_codelab/step_07/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_07/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 3BBA9E3E907F8608A45239E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */; }; - 6B5060E984E4C60A42FC7DF5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */; }; + 94D51C3A33B04E75A4256FF7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */; }; + F42ADCE9497DF27F8F7A014A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3A152D26C1FE2408F86DCA64 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 5847AFAF82CB43DA9A0B7684 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 362F9BBAD863D7F42AE19CCE /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 50FCDA24317DF3CFE31B3040 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - BB4139BC3F571AE50CC2EDAF /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + D010631623034271908FB09D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3BBA9E3E907F8608A45239E6 /* Pods_RunnerTests.framework in Frameworks */, + F42ADCE9497DF27F8F7A014A /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6B5060E984E4C60A42FC7DF5 /* Pods_Runner.framework in Frameworks */, + 94D51C3A33B04E75A4256FF7 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 5FEA2384977B39C7E05B03A9 /* Pods */, + 9E517853BB89F99958381842 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 5FEA2384977B39C7E05B03A9 /* Pods */ = { + 9E517853BB89F99958381842 /* Pods */ = { isa = PBXGroup; children = ( - BB4139BC3F571AE50CC2EDAF /* Pods-Runner.debug.xcconfig */, - 3A152D26C1FE2408F86DCA64 /* Pods-Runner.release.xcconfig */, - 5847AFAF82CB43DA9A0B7684 /* Pods-Runner.profile.xcconfig */, - A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */, - 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */, - 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */, + D010631623034271908FB09D /* Pods-Runner.debug.xcconfig */, + 362F9BBAD863D7F42AE19CCE /* Pods-Runner.release.xcconfig */, + 50FCDA24317DF3CFE31B3040 /* Pods-Runner.profile.xcconfig */, + 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */, + 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */, + 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */, - 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */, + 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */, + 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 8895644AB7489600855446E7 /* [CP] Check Pods Manifest.lock */, + 837361EA83D2A51CB9BAD472 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,7 +234,7 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 191F08ADE97D73EF94B089C8 /* [CP] Check Pods Manifest.lock */, + 61D669BF7016638B3EAE0C51 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, @@ -258,7 +258,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -321,67 +321,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 191F08ADE97D73EF94B089C8 /* [CP] Check Pods Manifest.lock */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( + Flutter/ephemeral/tripwire, ); outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 61D669BF7016638B3EAE0C51 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 8895644AB7489600855446E7 /* [CP] Check Pods Manifest.lock */ = { + 837361EA83D2A51CB9BAD472 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -454,7 +454,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -469,7 +469,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -484,7 +484,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/testing_codelab/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_07/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_07/web/index.html b/testing_codelab/step_07/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_07/web/index.html +++ b/testing_codelab/step_07/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_07/windows/CMakeLists.txt b/testing_codelab/step_07/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_07/windows/CMakeLists.txt +++ b/testing_codelab/step_07/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_07/windows/runner/flutter_window.cpp b/testing_codelab/step_07/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_07/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_07/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/testing_codelab/step_08/android/app/build.gradle b/testing_codelab/step_08/android/app/build.gradle index 48b158c8de..756f9baa92 100644 --- a/testing_codelab/step_08/android/app/build.gradle +++ b/testing_codelab/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.testing_app" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/testing_codelab/step_08/android/settings.gradle b/testing_codelab/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/testing_codelab/step_08/android/settings.gradle +++ b/testing_codelab/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/testing_codelab/step_08/ios/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_08/ios/Runner.xcodeproj/project.pbxproj index a1e90e030f..a4fd02ef80 100644 --- a/testing_codelab/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -168,7 +168,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { diff --git a/testing_codelab/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/testing_codelab/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/testing_codelab/step_08/macos/Runner.xcodeproj/project.pbxproj b/testing_codelab/step_08/macos/Runner.xcodeproj/project.pbxproj index 52c3a47291..b4135b6396 100644 --- a/testing_codelab/step_08/macos/Runner.xcodeproj/project.pbxproj +++ b/testing_codelab/step_08/macos/Runner.xcodeproj/project.pbxproj @@ -27,8 +27,8 @@ 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 3BBA9E3E907F8608A45239E6 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */; }; - 6B5060E984E4C60A42FC7DF5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */; }; + 94D51C3A33B04E75A4256FF7 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */; }; + F42ADCE9497DF27F8F7A014A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -62,8 +62,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; @@ -80,14 +79,15 @@ 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 3A152D26C1FE2408F86DCA64 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 5847AFAF82CB43DA9A0B7684 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 362F9BBAD863D7F42AE19CCE /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 50FCDA24317DF3CFE31B3040 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - BB4139BC3F571AE50CC2EDAF /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + D010631623034271908FB09D /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -95,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 3BBA9E3E907F8608A45239E6 /* Pods_RunnerTests.framework in Frameworks */, + F42ADCE9497DF27F8F7A014A /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -103,7 +103,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6B5060E984E4C60A42FC7DF5 /* Pods_Runner.framework in Frameworks */, + 94D51C3A33B04E75A4256FF7 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -137,7 +137,7 @@ 331C80D6294CF71000263BE5 /* RunnerTests */, 33CC10EE2044A3C60003C045 /* Products */, D73912EC22F37F3D000D13A0 /* Frameworks */, - 5FEA2384977B39C7E05B03A9 /* Pods */, + 9E517853BB89F99958381842 /* Pods */, ); sourceTree = ""; }; @@ -185,15 +185,15 @@ path = Runner; sourceTree = ""; }; - 5FEA2384977B39C7E05B03A9 /* Pods */ = { + 9E517853BB89F99958381842 /* Pods */ = { isa = PBXGroup; children = ( - BB4139BC3F571AE50CC2EDAF /* Pods-Runner.debug.xcconfig */, - 3A152D26C1FE2408F86DCA64 /* Pods-Runner.release.xcconfig */, - 5847AFAF82CB43DA9A0B7684 /* Pods-Runner.profile.xcconfig */, - A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */, - 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */, - 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */, + D010631623034271908FB09D /* Pods-Runner.debug.xcconfig */, + 362F9BBAD863D7F42AE19CCE /* Pods-Runner.release.xcconfig */, + 50FCDA24317DF3CFE31B3040 /* Pods-Runner.profile.xcconfig */, + 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */, + 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */, + 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */, ); name = Pods; path = Pods; @@ -202,8 +202,8 @@ D73912EC22F37F3D000D13A0 /* Frameworks */ = { isa = PBXGroup; children = ( - 07AD8623D25E4C4AB492A3C1 /* Pods_Runner.framework */, - 9860EA2238256DB136C8A14B /* Pods_RunnerTests.framework */, + 8A50696E0C23EC59548FBB5A /* Pods_Runner.framework */, + 6792AC0568FDC1768EC6D992 /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -215,7 +215,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 8895644AB7489600855446E7 /* [CP] Check Pods Manifest.lock */, + 837361EA83D2A51CB9BAD472 /* [CP] Check Pods Manifest.lock */, 331C80D1294CF70F00263BE5 /* Sources */, 331C80D2294CF70F00263BE5 /* Frameworks */, 331C80D3294CF70F00263BE5 /* Resources */, @@ -234,7 +234,7 @@ isa = PBXNativeTarget; buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 191F08ADE97D73EF94B089C8 /* [CP] Check Pods Manifest.lock */, + 61D669BF7016638B3EAE0C51 /* [CP] Check Pods Manifest.lock */, 33CC10E92044A3C60003C045 /* Sources */, 33CC10EA2044A3C60003C045 /* Frameworks */, 33CC10EB2044A3C60003C045 /* Resources */, @@ -258,7 +258,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1300; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C80D4294CF70F00263BE5 = { @@ -321,67 +321,67 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 191F08ADE97D73EF94B089C8 /* [CP] Check Pods Manifest.lock */ = { + 3399D490228B24CF009A79C7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", ); - name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; }; - 3399D490228B24CF009A79C7 /* ShellScript */ = { + 33CC111E2044C6BF0003C045 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( + Flutter/ephemeral/tripwire, ); outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { + 61D669BF7016638B3EAE0C51 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, ); inputPaths = ( - Flutter/ephemeral/tripwire, + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, ); outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 8895644AB7489600855446E7 /* [CP] Check Pods Manifest.lock */ = { + 837361EA83D2A51CB9BAD472 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -454,7 +454,7 @@ /* Begin XCBuildConfiguration section */ 331C80DB294CF71000263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A73DFA2EE022D8172E9924F1 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 7DDC95F0EBBFC88E5DE9E46B /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -469,7 +469,7 @@ }; 331C80DC294CF71000263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 9916D386001A7AD81DE7CA39 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 90646F0579F77E1BB90C7C70 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; @@ -484,7 +484,7 @@ }; 331C80DD294CF71000263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2E36A6CC60C866298A49264F /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2A1957A2878849167EA59C0E /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CURRENT_PROJECT_VERSION = 1; diff --git a/testing_codelab/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/testing_codelab/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 01526930ed..0845a2961a 100644 --- a/testing_codelab/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/testing_codelab/step_08/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ =3.0.0 <4.0.0' + sdk: ^3.1.0-0 dependencies: flutter: @@ -24,7 +24,7 @@ dev_dependencies: sdk: flutter integration_test: sdk: flutter - test: ^1.24.1 + test: ^1.24.3 flutter: uses-material-design: true diff --git a/testing_codelab/step_08/web/index.html b/testing_codelab/step_08/web/index.html index 865f162c94..2eaabfabf1 100644 --- a/testing_codelab/step_08/web/index.html +++ b/testing_codelab/step_08/web/index.html @@ -34,7 +34,7 @@ diff --git a/testing_codelab/step_08/windows/CMakeLists.txt b/testing_codelab/step_08/windows/CMakeLists.txt index 6d4cf851cf..46fc3fdb14 100644 --- a/testing_codelab/step_08/windows/CMakeLists.txt +++ b/testing_codelab/step_08/windows/CMakeLists.txt @@ -8,7 +8,7 @@ set(BINARY_NAME "testing_app") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. -cmake_policy(SET CMP0063 NEW) +cmake_policy(VERSION 3.14...3.25) # Define build configuration option. get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) diff --git a/testing_codelab/step_08/windows/runner/flutter_window.cpp b/testing_codelab/step_08/windows/runner/flutter_window.cpp index b25e363efa..955ee3038f 100644 --- a/testing_codelab/step_08/windows/runner/flutter_window.cpp +++ b/testing_codelab/step_08/windows/runner/flutter_window.cpp @@ -31,6 +31,11 @@ bool FlutterWindow::OnCreate() { this->Show(); }); + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + return true; } diff --git a/tooling/claat_export_images/pubspec.yaml b/tooling/claat_export_images/pubspec.yaml index 850f21ef96..66f8dddb67 100644 --- a/tooling/claat_export_images/pubspec.yaml +++ b/tooling/claat_export_images/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 repository: https://github.com/flutter/codelabs environment: - sdk: ^3.0.5 + sdk: ^3.1.0-0 dependencies: args: ^2.4.2 diff --git a/tooling/codelab_rebuild/pubspec.yaml b/tooling/codelab_rebuild/pubspec.yaml index fa140e99c8..b59a52a47f 100644 --- a/tooling/codelab_rebuild/pubspec.yaml +++ b/tooling/codelab_rebuild/pubspec.yaml @@ -4,7 +4,7 @@ version: 1.0.0 # homepage: https://www.example.com environment: - sdk: ^3.0.0 + sdk: ^3.1.0-0 dependencies: checked_yaml: ^2.0.1 diff --git a/webview_flutter/codelab_rebuild.yaml b/webview_flutter/codelab_rebuild.yaml index 76b8c72a1d..4995196367 100644 --- a/webview_flutter/codelab_rebuild.yaml +++ b/webview_flutter/codelab_rebuild.yaml @@ -44,7 +44,7 @@ steps: patch-u: | --- b/webview_flutter/step_03/android/app/build.gradle +++ a/webview_flutter/step_03/android/app/build.gradle - @@ -48,7 +48,7 @@ android { + @@ -45,7 +48,7 @@ android { applicationId "com.example.webview_in_flutter" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. diff --git a/webview_flutter/step_03/android/app/build.gradle b/webview_flutter/step_03/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_03/android/app/build.gradle +++ b/webview_flutter/step_03/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_03/android/settings.gradle b/webview_flutter/step_03/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_03/android/settings.gradle +++ b/webview_flutter/step_03/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_03/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_03/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_03/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_03/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_03/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_03/pubspec.yaml b/webview_flutter/step_03/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_03/pubspec.yaml +++ b/webview_flutter/step_03/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_04/android/app/build.gradle b/webview_flutter/step_04/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_04/android/app/build.gradle +++ b/webview_flutter/step_04/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_04/android/settings.gradle b/webview_flutter/step_04/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_04/android/settings.gradle +++ b/webview_flutter/step_04/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_04/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_04/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_04/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_04/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_04/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_04/pubspec.yaml b/webview_flutter/step_04/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_04/pubspec.yaml +++ b/webview_flutter/step_04/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_05/android/app/build.gradle b/webview_flutter/step_05/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_05/android/app/build.gradle +++ b/webview_flutter/step_05/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_05/android/settings.gradle b/webview_flutter/step_05/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_05/android/settings.gradle +++ b/webview_flutter/step_05/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_05/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_05/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_05/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_05/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_05/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_05/pubspec.yaml b/webview_flutter/step_05/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_05/pubspec.yaml +++ b/webview_flutter/step_05/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_06/android/app/build.gradle b/webview_flutter/step_06/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_06/android/app/build.gradle +++ b/webview_flutter/step_06/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_06/android/settings.gradle b/webview_flutter/step_06/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_06/android/settings.gradle +++ b/webview_flutter/step_06/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_06/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_06/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_06/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_06/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_06/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_06/pubspec.yaml b/webview_flutter/step_06/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_06/pubspec.yaml +++ b/webview_flutter/step_06/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_07/android/app/build.gradle b/webview_flutter/step_07/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_07/android/app/build.gradle +++ b/webview_flutter/step_07/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_07/android/settings.gradle b/webview_flutter/step_07/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_07/android/settings.gradle +++ b/webview_flutter/step_07/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_07/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_07/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_07/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_07/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_07/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_07/pubspec.yaml b/webview_flutter/step_07/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_07/pubspec.yaml +++ b/webview_flutter/step_07/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_08/android/app/build.gradle b/webview_flutter/step_08/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_08/android/app/build.gradle +++ b/webview_flutter/step_08/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_08/android/settings.gradle b/webview_flutter/step_08/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_08/android/settings.gradle +++ b/webview_flutter/step_08/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_08/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_08/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_08/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_08/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_08/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_08/pubspec.yaml b/webview_flutter/step_08/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_08/pubspec.yaml +++ b/webview_flutter/step_08/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_09/android/app/build.gradle b/webview_flutter/step_09/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_09/android/app/build.gradle +++ b/webview_flutter/step_09/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_09/android/settings.gradle b/webview_flutter/step_09/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_09/android/settings.gradle +++ b/webview_flutter/step_09/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_09/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_09/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_09/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_09/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_09/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_09/pubspec.yaml b/webview_flutter/step_09/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_09/pubspec.yaml +++ b/webview_flutter/step_09/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_10/android/app/build.gradle b/webview_flutter/step_10/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_10/android/app/build.gradle +++ b/webview_flutter/step_10/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_10/android/settings.gradle b/webview_flutter/step_10/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_10/android/settings.gradle +++ b/webview_flutter/step_10/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_10/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_10/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_10/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_10/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_10/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_10/pubspec.yaml b/webview_flutter/step_10/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_10/pubspec.yaml +++ b/webview_flutter/step_10/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_11/android/app/build.gradle b/webview_flutter/step_11/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_11/android/app/build.gradle +++ b/webview_flutter/step_11/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_11/android/settings.gradle b/webview_flutter/step_11/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_11/android/settings.gradle +++ b/webview_flutter/step_11/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_11/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_11/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_11/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_11/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_11/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_11/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_11/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_11/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_11/pubspec.yaml b/webview_flutter/step_11/pubspec.yaml index 26978d7d9e..ca60ca0e9b 100644 --- a/webview_flutter/step_11/pubspec.yaml +++ b/webview_flutter/step_11/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions diff --git a/webview_flutter/step_12/android/app/build.gradle b/webview_flutter/step_12/android/app/build.gradle index c305537d9e..6864b9fafe 100644 --- a/webview_flutter/step_12/android/app/build.gradle +++ b/webview_flutter/step_12/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { namespace "com.example.webview_in_flutter" compileSdkVersion flutter.compileSdkVersion @@ -67,6 +64,4 @@ flutter { source '../..' } -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} +dependencies {} diff --git a/webview_flutter/step_12/android/settings.gradle b/webview_flutter/step_12/android/settings.gradle index 44e62bcf06..55c4ca8b10 100644 --- a/webview_flutter/step_12/android/settings.gradle +++ b/webview_flutter/step_12/android/settings.gradle @@ -1,11 +1,20 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + } + settings.ext.flutterSdkPath = flutterSdkPath() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + plugins { + id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +include ":app" + +apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/webview_flutter/step_12/ios/Runner.xcodeproj/project.pbxproj b/webview_flutter/step_12/ios/Runner.xcodeproj/project.pbxproj index 5aa01c1c02..ed6ddb3b57 100644 --- a/webview_flutter/step_12/ios/Runner.xcodeproj/project.pbxproj +++ b/webview_flutter/step_12/ios/Runner.xcodeproj/project.pbxproj @@ -8,11 +8,11 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */; }; + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C12E8BAED61E003851BBA613 /* Pods_Runner.framework */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -44,14 +44,17 @@ /* Begin PBXFileReference section */ 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -59,48 +62,31 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 9205A5FB97847C1607B78A4C /* Pods_Runner.framework in Frameworks */, + 5718BC9BE9944AD6C970C82B /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */ = { + 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 14FF846A3AE55E7B3AD9503A /* Pods_RunnerTests.framework in Frameworks */, + 24538CBD873B6ECC72228651 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 24177DC65B496ED5BE77B5D2 /* Pods */ = { - isa = PBXGroup; - children = ( - 6EEFB70C88AE2D504D1C8690 /* Pods-Runner.debug.xcconfig */, - 9904AA9617677B54DD4E7EA6 /* Pods-Runner.release.xcconfig */, - C0D85F58917E8AD8B5FEEFAE /* Pods-Runner.profile.xcconfig */, - 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */, - AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */, - AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -109,13 +95,18 @@ path = RunnerTests; sourceTree = ""; }; - 84A8324EB4309D91C07885F3 /* Frameworks */ = { + 39BC2F332B63B47619B7F53C /* Pods */ = { isa = PBXGroup; children = ( - BF0ED35F4E9B0EA3079C1C0B /* Pods_Runner.framework */, - DF289106CB7CB89A584D412C /* Pods_RunnerTests.framework */, + 8983DD01384D25055C3B65F9 /* Pods-Runner.debug.xcconfig */, + 4F8CF330CA8828071F0E7F12 /* Pods-Runner.release.xcconfig */, + 24686512B90217B8F252412B /* Pods-Runner.profile.xcconfig */, + F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */, + 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */, + 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Frameworks; + name = Pods; + path = Pods; sourceTree = ""; }; 9740EEB11CF90186004384FC /* Flutter */ = { @@ -136,8 +127,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, - 24177DC65B496ED5BE77B5D2 /* Pods */, - 84A8324EB4309D91C07885F3 /* Frameworks */, + 39BC2F332B63B47619B7F53C /* Pods */, + CA197858D38EAF6F2501B2DB /* Frameworks */, ); sourceTree = ""; }; @@ -165,6 +156,15 @@ path = Runner; sourceTree = ""; }; + CA197858D38EAF6F2501B2DB /* Frameworks */ = { + isa = PBXGroup; + children = ( + C12E8BAED61E003851BBA613 /* Pods_Runner.framework */, + B530A3386F238A2A199FC14D /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,10 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */, + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, - 9CC40DF27CFF5C0C6B329A7C /* Frameworks */, + 69D0C2BD43D0AE4DC9A56BCE /* Frameworks */, ); buildRules = ( ); @@ -191,14 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */, + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */, + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -215,7 +215,8 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1300; + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { 331C8080294A63A400263BE5 = { @@ -269,7 +270,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 2B786177583EF8724B395CBD /* [CP] Check Pods Manifest.lock */ = { + 02295218898BB9DF1688543C /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -284,67 +285,67 @@ outputFileListPaths = ( ); outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + 2BDA0B9FA819C9EE035CBAC5 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); + inputFileListPaths = ( + ); inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( ); - name = "Thin Binary"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; }; - 9740EEB61CF901F6004384FC /* Run Script */ = { + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", ); - name = "Run Script"; + name = "Thin Binary"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 999A76F3300A8755C1126139 /* [CP] Check Pods Manifest.lock */ = { + 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); - inputFileListPaths = ( - ); inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( ); + name = "Run Script"; outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - B34F5541455BAA9E3C12415E /* [CP] Embed Pods Frameworks */ = { + E8B3D060B5E4DC6483BC2AE9 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -484,7 +485,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 86DEC79AE32BA7ACFF967C83 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = F08E3EE5DD095716C8ECA939 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -502,7 +503,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AAF4BAB1B315B63D5D29610C /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = 7C7700EEDE878DC396D18E25 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -518,7 +519,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = AD2B340DB7059EC1A08110AF /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 2734ADF2B144CB7CB952A535 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/webview_flutter/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/webview_flutter/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index e42adcb34c..87131a09be 100644 --- a/webview_flutter/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/webview_flutter/step_12/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - UIViewControllerBasedStatusBarAppearance - CADisableMinimumFrameDurationOnPhone UIApplicationSupportsIndirectInputEvents diff --git a/webview_flutter/step_12/pubspec.yaml b/webview_flutter/step_12/pubspec.yaml index 2e7b50d553..3de56c826d 100644 --- a/webview_flutter/step_12/pubspec.yaml +++ b/webview_flutter/step_12/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=3.1.0-262.2.beta <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions