add core app brick
							
								
								
									
										3
									
								
								bricks/core_app_brick/CHANGELOG.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,3 @@ | ||||
| # 0.0.1 | ||||
| 
 | ||||
| - Initial release! | ||||
							
								
								
									
										21
									
								
								bricks/core_app_brick/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,21 @@ | ||||
| MIT License | ||||
| 
 | ||||
| Copyright (c) 2022 Marcus Twichel | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										17
									
								
								bricks/core_app_brick/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,17 @@ | ||||
| # Pretty Good Flutter App | ||||
| _Because it's not quite Very Good ;)_ | ||||
| 
 | ||||
| [](https://github.com/felangel/mason) | ||||
| 
 | ||||
| A fork of the app made with the [very_good_cli](https://github.com/VeryGoodOpenSource/very_good_cli), but removing the multiple environments. | ||||
| 
 | ||||
| 
 | ||||
| ## Getting Started 🚀 | ||||
| ```sh | ||||
| mason make pretty_good_flutter_app | ||||
| ``` | ||||
| 
 | ||||
| [1]: https://github.com/felangel/mason | ||||
| [2]: https://github.com/felangel/mason/tree/master/packages/mason_cli#readme | ||||
| [3]: https://verygood.ventures/blog/code-generation-with-mason | ||||
| [4]: https://youtu.be/G4PTjA6tpTU | ||||
							
								
								
									
										127
									
								
								bricks/core_app_brick/__brick__/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,127 @@ | ||||
| # Miscellaneous | ||||
| *.class | ||||
| *.lock | ||||
| *.log | ||||
| *.pyc | ||||
| *.swp | ||||
| .DS_Store | ||||
| .atom/ | ||||
| .buildlog/ | ||||
| .history | ||||
| .svn/ | ||||
| 
 | ||||
| # IntelliJ related | ||||
| *.iml | ||||
| *.ipr | ||||
| *.iws | ||||
| .idea/* | ||||
| 
 | ||||
| # Visual Studio Code related | ||||
| .classpath | ||||
| .project | ||||
| .settings/ | ||||
| .vscode/* | ||||
| 
 | ||||
| # Flutter repo-specific | ||||
| /bin/cache/ | ||||
| /bin/mingit/ | ||||
| /dev/benchmarks/mega_gallery/ | ||||
| /dev/bots/.recipe_deps | ||||
| /dev/bots/android_tools/ | ||||
| /dev/docs/doc/ | ||||
| /dev/docs/flutter.docs.zip | ||||
| /dev/docs/lib/ | ||||
| /dev/docs/pubspec.yaml | ||||
| /dev/integration_tests/**/xcuserdata | ||||
| /dev/integration_tests/**/Pods | ||||
| /packages/flutter/coverage/ | ||||
| version | ||||
| 
 | ||||
| # packages file containing multi-root paths | ||||
| .packages.generated | ||||
| 
 | ||||
| # Flutter/Dart/Pub related | ||||
| **/doc/api/ | ||||
| **/ios/Flutter/.last_build_id | ||||
| .dart_tool/ | ||||
| .flutter-plugins | ||||
| .flutter-plugins-dependencies | ||||
| .packages | ||||
| .pub-cache/ | ||||
| .pub/ | ||||
| build/ | ||||
| flutter_*.png | ||||
| linked_*.ds | ||||
| unlinked.ds | ||||
| unlinked_spec.ds | ||||
| .fvm/ | ||||
| 
 | ||||
| # Android related | ||||
| **/android/**/gradle-wrapper.jar | ||||
| **/android/.gradle | ||||
| **/android/captures/ | ||||
| **/android/gradlew | ||||
| **/android/gradlew.bat | ||||
| **/android/local.properties | ||||
| **/android/**/GeneratedPluginRegistrant.java | ||||
| **/android/key.properties | ||||
| **/android/.idea/ | ||||
| *.jks | ||||
| 
 | ||||
| # iOS/XCode related | ||||
| **/ios/**/*.mode1v3 | ||||
| **/ios/**/*.mode2v3 | ||||
| **/ios/**/*.moved-aside | ||||
| **/ios/**/*.pbxuser | ||||
| **/ios/**/*.perspectivev3 | ||||
| **/ios/**/*sync/ | ||||
| **/ios/**/.sconsign.dblite | ||||
| **/ios/**/.tags* | ||||
| **/ios/**/.vagrant/ | ||||
| **/ios/**/DerivedData/ | ||||
| **/ios/**/Icon? | ||||
| **/ios/**/Pods/ | ||||
| **/ios/**/.symlinks/ | ||||
| **/ios/**/profile | ||||
| **/ios/**/xcuserdata | ||||
| **/ios/.generated/ | ||||
| **/ios/Flutter/App.framework | ||||
| **/ios/Flutter/Flutter.framework | ||||
| **/ios/Flutter/Flutter.podspec | ||||
| **/ios/Flutter/Generated.xcconfig | ||||
| **/ios/Flutter/app.flx | ||||
| **/ios/Flutter/app.zip | ||||
| **/ios/Flutter/.last_build_id | ||||
| **/ios/Flutter/flutter_assets/ | ||||
| **/ios/Flutter/flutter_export_environment.sh | ||||
| **/ios/ServiceDefinitions.json | ||||
| **/ios/Runner/GeneratedPluginRegistrant.* | ||||
| 
 | ||||
| # Coverage | ||||
| coverage/ | ||||
| 
 | ||||
| # Submodules | ||||
| !pubspec.lock | ||||
| packages/**/pubspec.lock | ||||
| 
 | ||||
| # Web related | ||||
| lib/generated_plugin_registrant.dart | ||||
| 
 | ||||
| # Symbolication related | ||||
| app.*.symbols | ||||
| 
 | ||||
| # Obfuscation related | ||||
| app.*.map.json | ||||
| 
 | ||||
| # Exceptions to the above rules. | ||||
| !**/ios/**/default.mode1v3 | ||||
| !**/ios/**/default.mode2v3 | ||||
| !**/ios/**/default.pbxuser | ||||
| !**/ios/**/default.perspectivev3 | ||||
| !/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages | ||||
| !/dev/ci/**/Gemfile.lock | ||||
| !.vscode/extensions.json | ||||
| !.vscode/launch.json | ||||
| !.idea/codeStyles/ | ||||
| !.idea/dictionaries/ | ||||
| !.idea/runConfigurations/ | ||||
							
								
								
									
										10
									
								
								bricks/core_app_brick/__brick__/.metadata
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,10 @@ | ||||
| # This file tracks properties of this Flutter project. | ||||
| # Used by Flutter tool to assess capabilities and perform upgrades etc. | ||||
| # | ||||
| # This file should be version controlled and should not be manually edited. | ||||
| 
 | ||||
| version: | ||||
|   revision: 9b2d32b605630f28625709ebd9d78ab3016b2bf6 | ||||
|   channel: stable | ||||
| 
 | ||||
| project_type: app | ||||
							
								
								
									
										9
									
								
								bricks/core_app_brick/__brick__/.vscode/extensions.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   // See https://go.microsoft.com/fwlink/?LinkId=827846 | ||||
|   // for the documentation about the extensions.json format | ||||
|   "recommendations": [ | ||||
|     "dart-code.dart-code", | ||||
|     "dart-code.flutter", | ||||
|     "felixangelov.bloc"     | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										18
									
								
								bricks/core_app_brick/__brick__/.vscode/launch.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,18 @@ | ||||
| { | ||||
|   // Use IntelliSense to learn about possible attributes. | ||||
|   // Hover to view descriptions of existing attributes. | ||||
|   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 | ||||
|   "version": "0.2.0", | ||||
|   "configurations": [ | ||||
|     { | ||||
|       "name": "Launch App", | ||||
|       "request": "launch", | ||||
|       "type": "dart", | ||||
|       "program": "lib/main.dart", | ||||
|       "args": [ | ||||
|         "--target", | ||||
|         "lib/main.dart" | ||||
|       ] | ||||
|     }, | ||||
|   ] | ||||
| } | ||||
							
								
								
									
										21
									
								
								bricks/core_app_brick/__brick__/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,21 @@ | ||||
| MIT License | ||||
| 
 | ||||
| Copyright (c) 2022 Marcus Twichel | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										50
									
								
								bricks/core_app_brick/__brick__/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,50 @@ | ||||
| .PHONY: help clean get upgrade format lint intl build_web docker run_debug_web run_release_web | ||||
| 
 | ||||
| # Adding a help file: https://gist.github.com/prwhite/8168133#gistcomment-1313022
 | ||||
| help: ## This help dialog.
 | ||||
| 	@IFS=$$'\n' ; \
 | ||||
| 	help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//'`); \
 | ||||
| 	for help_line in $${help_lines[@]}; do \
 | ||||
| 		IFS=$$'#' ; \
 | ||||
| 		help_split=($$help_line) ; \
 | ||||
| 		help_command=`echo $${help_split[0]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \
 | ||||
| 		help_info=`echo $${help_split[2]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \
 | ||||
| 		printf "%-30s %s\n" $$help_command $$help_info ; \
 | ||||
| 	done | ||||
| 
 | ||||
| clean: ## Cleans the environment.
 | ||||
| 	@echo "• Cleaning the project..." | ||||
| 	@rm -rf pubspec.lock | ||||
| 	@flutter clean | ||||
| 
 | ||||
| get: ## Gets the dependencies.
 | ||||
| 	@echo "• Getting the dependencies..." | ||||
| 	@flutter pub get | ||||
| 
 | ||||
| upgrade: clean ## Upgrades dependencies.
 | ||||
| 	@echo "• Upgrading dependencies..." | ||||
| 	@flutter pub upgrade | ||||
| 
 | ||||
| format: ## Formats the code.
 | ||||
| 	@echo "• Formatting the code" | ||||
| 	@dart format . | ||||
| 
 | ||||
| lint: ## Lints the code.
 | ||||
| 	@echo "• Verifying code..." | ||||
| 	@dart analyze . || (echo "Error in project"; exit 1) | ||||
| 
 | ||||
| intl: get ## Generates the intl files.
 | ||||
| 	@echo "• Generating the intl files" | ||||
| 	@flutter pub run intl_utils:generate | ||||
| 
 | ||||
| build_web: clean ## Builds the web application
 | ||||
| 	@echo "• Building the app" | ||||
| 	@flutter build web | ||||
| 
 | ||||
| run_debug_web: ## Runs the application in debug mode
 | ||||
| 	@echo "• Running the app (web:debug)" | ||||
| 	@flutter run | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
							
								
								
									
										148
									
								
								bricks/core_app_brick/__brick__/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,148 @@ | ||||
| # {{#titleCase}}{{project_name}}{{/titleCase}} | ||||
| 
 | ||||
| ![coverage][coverage_badge] | ||||
| [![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] | ||||
| [![License: MIT][license_badge]][license_link] | ||||
| 
 | ||||
| {{{description}}} | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| ## Getting Started 🚀 | ||||
| 
 | ||||
| To run the app, either use the launch configuration in VSCode/Android Studio or use the following command: | ||||
| 
 | ||||
| ```sh | ||||
| $ flutter run --target lib/main.dart | ||||
| ``` | ||||
| 
 | ||||
| _\*{{#titleCase}}{{project_name}}{{/titleCase}} works on iOS, Android, Web, and Windows._ | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| ## Running Tests 🧪 | ||||
| 
 | ||||
| To run all unit and widget tests use the following command: | ||||
| 
 | ||||
| ```sh | ||||
| $ flutter test --coverage --test-randomize-ordering-seed random | ||||
| ``` | ||||
| 
 | ||||
| To view the generated coverage report you can use [lcov](https://github.com/linux-test-project/lcov). | ||||
| 
 | ||||
| ```sh | ||||
| # Generate Coverage Report | ||||
| $ genhtml coverage/lcov.info -o coverage/ | ||||
| 
 | ||||
| # Open Coverage Report | ||||
| $ open coverage/index.html | ||||
| ``` | ||||
| 
 | ||||
| --- | ||||
| 
 | ||||
| ## Working with Translations 🌐 | ||||
| 
 | ||||
| This project relies on [flutter_localizations][flutter_localizations_link] and follows the [official internationalization guide for Flutter][internationalization_link]. | ||||
| 
 | ||||
| ### Adding Strings | ||||
| 
 | ||||
| 1. To add a new localizable string, open the `app_en.arb` file at `lib/l10n/arb/app_en.arb`. | ||||
| 
 | ||||
| ```arb | ||||
| { | ||||
|     "@@locale": "en", | ||||
|     "counterAppBarTitle": "Counter", | ||||
|     "@counterAppBarTitle": { | ||||
|         "description": "Text shown in the AppBar of the Counter Page" | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| 2. Then add a new key/value and description | ||||
| 
 | ||||
| ```arb | ||||
| { | ||||
|     "@@locale": "en", | ||||
|     "counterAppBarTitle": "Counter", | ||||
|     "@counterAppBarTitle": { | ||||
|         "description": "Text shown in the AppBar of the Counter Page" | ||||
|     }, | ||||
|     "helloWorld": "Hello World", | ||||
|     "@helloWorld": { | ||||
|         "description": "Hello World Text" | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| 3. Use the new string | ||||
| 
 | ||||
| ```dart | ||||
| import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/l10n/l10n.dart'; | ||||
| 
 | ||||
| @override | ||||
| Widget build(BuildContext context) { | ||||
|   final l10n = context.l10n; | ||||
|   return Text(l10n.helloWorld); | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| ### Adding Supported Locales | ||||
| 
 | ||||
| Update the `CFBundleLocalizations` array in the `Info.plist` at `ios/Runner/Info.plist` to include the new locale. | ||||
| 
 | ||||
| ```xml | ||||
|     ... | ||||
| 
 | ||||
|     <key>CFBundleLocalizations</key> | ||||
| 	<array> | ||||
| 		<string>en</string> | ||||
| 		<string>es</string> | ||||
| 	</array> | ||||
| 
 | ||||
|     ... | ||||
| ``` | ||||
| 
 | ||||
| ### Adding Translations | ||||
| 
 | ||||
| 1. For each supported locale, add a new ARB file in `lib/l10n/arb`. | ||||
| 
 | ||||
| ``` | ||||
| ├── l10n | ||||
| │   ├── arb | ||||
| │   │   ├── app_en.arb | ||||
| │   │   └── app_es.arb | ||||
| ``` | ||||
| 
 | ||||
| 2. Add the translated strings to each `.arb` file: | ||||
| 
 | ||||
| `app_en.arb` | ||||
| 
 | ||||
| ```arb | ||||
| { | ||||
|     "@@locale": "en", | ||||
|     "counterAppBarTitle": "Counter", | ||||
|     "@counterAppBarTitle": { | ||||
|         "description": "Text shown in the AppBar of the Counter Page" | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| `app_es.arb` | ||||
| 
 | ||||
| ```arb | ||||
| { | ||||
|     "@@locale": "es", | ||||
|     "counterAppBarTitle": "Contador", | ||||
|     "@counterAppBarTitle": { | ||||
|         "description": "Texto mostrado en la AppBar de la página del contador" | ||||
|     } | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| [coverage_badge]: coverage_badge.svg | ||||
| [flutter_localizations_link]: https://api.flutter.dev/flutter/flutter_localizations/flutter_localizations-library.html | ||||
| [internationalization_link]: https://flutter.dev/docs/development/accessibility-and-localization/internationalization | ||||
| [license_badge]: https://img.shields.io/badge/license-MIT-blue.svg | ||||
| [license_link]: https://opensource.org/licenses/MIT | ||||
| [very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg | ||||
| [very_good_analysis_link]: https://pub.dev/packages/very_good_analysis | ||||
							
								
								
									
										5
									
								
								bricks/core_app_brick/__brick__/analysis_options.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,5 @@ | ||||
| include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml | ||||
| 
 | ||||
| analyzer: | ||||
|   strong-mode: | ||||
|     implicit-dynamic: true | ||||
							
								
								
									
										13
									
								
								bricks/core_app_brick/__brick__/android/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,13 @@ | ||||
| gradle-wrapper.jar | ||||
| /.gradle | ||||
| /captures/ | ||||
| /gradlew | ||||
| /gradlew.bat | ||||
| /local.properties | ||||
| GeneratedPluginRegistrant.java | ||||
| 
 | ||||
| # Remember to never publicly share your keystore. | ||||
| # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app | ||||
| key.properties | ||||
| **/*.keystore | ||||
| **/*.jks | ||||
							
								
								
									
										103
									
								
								bricks/core_app_brick/__brick__/android/app/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,103 @@ | ||||
| def localProperties = new Properties() | ||||
| def localPropertiesFile = rootProject.file('local.properties') | ||||
| if (localPropertiesFile.exists()) { | ||||
|     localPropertiesFile.withReader('UTF-8') { reader -> | ||||
|         localProperties.load(reader) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 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' | ||||
| } | ||||
| 
 | ||||
| def flutterVersionName = localProperties.getProperty('flutter.versionName') | ||||
| if (flutterVersionName == null) { | ||||
|     flutterVersionName = '1.0' | ||||
| } | ||||
| 
 | ||||
| def keystoreProperties = new Properties() | ||||
| def keystorePropertiesFile = rootProject.file('key.properties') | ||||
| if (keystorePropertiesFile.exists()) { | ||||
|     keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) | ||||
| } | ||||
| 
 | ||||
| apply plugin: 'com.android.application' | ||||
| apply plugin: 'kotlin-android' | ||||
| apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | ||||
| 
 | ||||
| android { | ||||
|     compileSdkVersion flutter.compileSdkVersion | ||||
| 
 | ||||
|     compileOptions { | ||||
|         sourceCompatibility JavaVersion.VERSION_1_8 | ||||
|         targetCompatibility JavaVersion.VERSION_1_8 | ||||
|     } | ||||
| 
 | ||||
|     kotlinOptions { | ||||
|         jvmTarget = '1.8' | ||||
|     } | ||||
| 
 | ||||
|     sourceSets { | ||||
|         main.java.srcDirs += 'src/main/kotlin' | ||||
|     } | ||||
| 
 | ||||
|     defaultConfig { | ||||
|         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | ||||
|         applicationId "{{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}}" | ||||
|         minSdkVersion flutter.minSdkVersion | ||||
|         targetSdkVersion flutter.targetSdkVersion | ||||
|         versionCode flutterVersionCode.toInteger() | ||||
|         versionName flutterVersionName | ||||
|     } | ||||
| 
 | ||||
|     // TODO: Remove when below fix is available in stable channel. | ||||
|     // https://github.com/flutter/flutter/pull/82309 | ||||
|     lintOptions { | ||||
|         checkReleaseBuilds false | ||||
|     } | ||||
| 
 | ||||
|     signingConfigs { | ||||
|         if (System.getenv("ANDROID_KEYSTORE_PATH")) { | ||||
|             release { | ||||
|                 storeFile file(System.getenv("ANDROID_KEYSTORE_PATH")) | ||||
|                 keyAlias System.getenv("ANDROID_KEYSTORE_ALIAS") | ||||
|                 keyPassword System.getenv("ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") | ||||
|                 storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") | ||||
|             } | ||||
|         } else { | ||||
|             release { | ||||
|                 keyAlias keystoreProperties['keyAlias'] | ||||
|                 keyPassword keystoreProperties['keyPassword'] | ||||
|                 storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null | ||||
|                 storePassword keystoreProperties['storePassword'] | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     flavorDimensions "default" | ||||
| 
 | ||||
|     buildTypes { | ||||
|         release { | ||||
|             signingConfig signingConfigs.release | ||||
|             minifyEnabled true | ||||
|             proguardFiles getDefaultProguardFile('proguard-android.txt') | ||||
|         } | ||||
|         debug { | ||||
|             signingConfig signingConfigs.debug | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| flutter { | ||||
|     source '../..' | ||||
| } | ||||
| 
 | ||||
| dependencies { | ||||
|     implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" | ||||
| } | ||||
| @ -0,0 +1,7 @@ | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     package="{{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}}"> | ||||
|     <!-- Flutter needs it to communicate with the running application | ||||
|          to allow setting breakpoints, to provide hot reload, etc. | ||||
|     --> | ||||
|     <uses-permission android:name="android.permission.INTERNET"/> | ||||
| </manifest> | ||||
| @ -0,0 +1,33 @@ | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     package="{{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}}"> | ||||
|    <application | ||||
|         android:label="${appName}" | ||||
|         android:icon="@mipmap/ic_launcher"> | ||||
|         <activity | ||||
|             android:name=".MainActivity" | ||||
|             android:exported="true" | ||||
|             android:launchMode="singleTop" | ||||
|             android:theme="@style/LaunchTheme" | ||||
|             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" | ||||
|             android:hardwareAccelerated="true" | ||||
|             android:windowSoftInputMode="adjustResize"> | ||||
|             <!-- Specifies an Android theme to apply to this Activity as soon as | ||||
|                  the Android process has started. This theme is visible to the user | ||||
|                  while the Flutter UI initializes. After that, this theme continues | ||||
|                  to determine the Window background behind the Flutter UI. --> | ||||
|             <meta-data | ||||
|               android:name="io.flutter.embedding.android.NormalTheme" | ||||
|               android:resource="@style/NormalTheme" | ||||
|               />             | ||||
|             <intent-filter> | ||||
|                 <action android:name="android.intent.action.MAIN"/> | ||||
|                 <category android:name="android.intent.category.LAUNCHER"/> | ||||
|             </intent-filter> | ||||
|         </activity> | ||||
|         <!-- Don't delete the meta-data below. | ||||
|              This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> | ||||
|         <meta-data | ||||
|             android:name="flutterEmbedding" | ||||
|             android:value="2" /> | ||||
|     </application> | ||||
| </manifest> | ||||
| After Width: | Height: | Size: 32 KiB | 
| @ -0,0 +1,6 @@ | ||||
| package {{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}} | ||||
| 
 | ||||
| import io.flutter.embedding.android.FlutterActivity | ||||
| 
 | ||||
| class MainActivity: FlutterActivity() { | ||||
| } | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Modify this file to customize your launch splash screen --> | ||||
| <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|     <item android:drawable="@android:color/white" /> | ||||
| 
 | ||||
|     <!-- You can insert your own image assets here --> | ||||
|     <item android:gravity="center" android:drawable="@drawable/ic_launch_image" /> | ||||
| </layer-list> | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <!-- Modify this file to customize your launch splash screen --> | ||||
| <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|     <item android:drawable="@android:color/white" /> | ||||
| 
 | ||||
|     <!-- You can insert your own image assets here --> | ||||
|     <item android:gravity="center" android:drawable="@drawable/ic_launch_image" /> | ||||
| </layer-list> | ||||
| @ -0,0 +1,5 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|     <background android:drawable="@color/ic_launcher_background"/> | ||||
|     <foreground android:drawable="@drawable/ic_launcher_foreground"/> | ||||
| </adaptive-icon> | ||||
| @ -0,0 +1,5 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> | ||||
|     <background android:drawable="@color/ic_launcher_background"/> | ||||
|     <foreground android:drawable="@drawable/ic_launcher_foreground"/> | ||||
| </adaptive-icon> | ||||
| After Width: | Height: | Size: 2.8 KiB | 
| After Width: | Height: | Size: 4.7 KiB | 
| After Width: | Height: | Size: 1.8 KiB | 
| After Width: | Height: | Size: 2.8 KiB | 
| After Width: | Height: | Size: 4.0 KiB | 
| After Width: | Height: | Size: 6.7 KiB | 
| After Width: | Height: | Size: 6.1 KiB | 
| After Width: | Height: | Size: 11 KiB | 
| After Width: | Height: | Size: 8.6 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| @ -0,0 +1,18 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources> | ||||
|     <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on --> | ||||
|     <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||||
|         <!-- Show a splash screen on the activity. Automatically removed when | ||||
|              Flutter draws its first frame --> | ||||
|         <item name="android:windowBackground">@drawable/launch_background</item> | ||||
|     </style> | ||||
|     <!-- Theme applied to the Android Window as soon as the process has started. | ||||
|          This theme determines the color of the Android Window while your | ||||
|          Flutter UI initializes, as well as behind your Flutter UI while its | ||||
|          running. | ||||
|           | ||||
|          This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||||
|     <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||||
|         <item name="android:windowBackground">?android:colorBackground</item> | ||||
|     </style> | ||||
| </resources> | ||||
| @ -0,0 +1,4 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources> | ||||
|     <color name="ic_launcher_background">#FFFFFF</color> | ||||
| </resources> | ||||
| @ -0,0 +1,18 @@ | ||||
| <?xml version="1.0" encoding="utf-8"?> | ||||
| <resources> | ||||
|     <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off --> | ||||
|     <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||||
|         <!-- Show a splash screen on the activity. Automatically removed when | ||||
|              Flutter draws its first frame --> | ||||
|         <item name="android:windowBackground">@drawable/launch_background</item> | ||||
|     </style> | ||||
|     <!-- Theme applied to the Android Window as soon as the process has started. | ||||
|          This theme determines the color of the Android Window while your | ||||
|          Flutter UI initializes, as well as behind your Flutter UI while its | ||||
|          running. | ||||
|           | ||||
|          This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||||
|     <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||||
|         <item name="android:windowBackground">?android:colorBackground</item> | ||||
|     </style> | ||||
| </resources> | ||||
| @ -0,0 +1,7 @@ | ||||
| <manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||||
|     package="{{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}}"> | ||||
|     <!-- Flutter needs it to communicate with the running application | ||||
|          to allow setting breakpoints, to provide hot reload, etc. | ||||
|     --> | ||||
|     <uses-permission android:name="android.permission.INTERNET"/> | ||||
| </manifest> | ||||
							
								
								
									
										29
									
								
								bricks/core_app_brick/__brick__/android/build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,29 @@ | ||||
| buildscript { | ||||
|     ext.kotlin_version = '1.6.10' | ||||
|     repositories { | ||||
|         google() | ||||
|         mavenCentral() | ||||
|     } | ||||
| 
 | ||||
|     dependencies { | ||||
|         classpath 'com.android.tools.build:gradle:7.1.2' | ||||
|         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| allprojects { | ||||
|     repositories { | ||||
|         google() | ||||
|         mavenCentral() | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| rootProject.buildDir = '../build' | ||||
| subprojects { | ||||
|     project.buildDir = "${rootProject.buildDir}/${project.name}" | ||||
|     project.evaluationDependsOn(':app') | ||||
| } | ||||
| 
 | ||||
| task clean(type: Delete) { | ||||
|     delete rootProject.buildDir | ||||
| } | ||||
| @ -0,0 +1,3 @@ | ||||
| org.gradle.jvmargs=-Xmx1536M | ||||
| android.useAndroidX=true | ||||
| android.enableJetifier=true | ||||
							
								
								
									
										6
									
								
								bricks/core_app_brick/__brick__/android/gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,6 @@ | ||||
| #Fri Jun 23 08:50:38 CEST 2017 | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip | ||||
							
								
								
									
										11
									
								
								bricks/core_app_brick/__brick__/android/settings.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,11 @@ | ||||
| include ':app' | ||||
| 
 | ||||
| def localPropertiesFile = new File(rootProject.projectDir, "local.properties") | ||||
| def properties = new Properties() | ||||
| 
 | ||||
| assert localPropertiesFile.exists() | ||||
| localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } | ||||
| 
 | ||||
| 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" | ||||
| @ -0,0 +1,7 @@ | ||||
| { | ||||
|     "@@locale": "fr_FR", | ||||
|     "counterAppBarTitle": "Compteur", | ||||
|     "@counterAppBarTitle": { | ||||
|         "description": "Texte affiché dans l'AppBar de la page Compteur" | ||||
|     } | ||||
| } | ||||
							
								
								
									
										8
									
								
								bricks/core_app_brick/__brick__/assets/l10n/l10n.dart
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,8 @@ | ||||
| import 'package:flutter/widgets.dart'; | ||||
| import 'package:flutter_gen/gen_l10n/app_localizations.dart'; | ||||
| 
 | ||||
| export 'package:flutter_gen/gen_l10n/app_localizations.dart'; | ||||
| 
 | ||||
| extension AppLocalizationsX on BuildContext { | ||||
|   AppLocalizations get l10n => AppLocalizations.of(this); | ||||
| } | ||||
							
								
								
									
										20
									
								
								bricks/core_app_brick/__brick__/coverage_badge.svg
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,20 @@ | ||||
| <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="102" height="20"> | ||||
|     <linearGradient id="b" x2="0" y2="100%"> | ||||
|         <stop offset="0" stop-color="#bbb" stop-opacity=".1" /> | ||||
|         <stop offset="1" stop-opacity=".1" /> | ||||
|     </linearGradient> | ||||
|     <clipPath id="a"> | ||||
|         <rect width="102" height="20" rx="3" fill="#fff" /> | ||||
|     </clipPath> | ||||
|     <g clip-path="url(#a)"> | ||||
|         <path fill="#555" d="M0 0h59v20H0z" /> | ||||
|         <path fill="#44cc11" d="M59 0h43v20H59z" /> | ||||
|         <path fill="url(#b)" d="M0 0h102v20H0z" /> | ||||
|     </g> | ||||
|     <g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> | ||||
|         <text x="305" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="490">coverage</text> | ||||
|         <text x="305" y="140" transform="scale(.1)" textLength="490">coverage</text> | ||||
|         <text x="795" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="330">100%</text> | ||||
|         <text x="795" y="140" transform="scale(.1)" textLength="330">100%</text> | ||||
|     </g> | ||||
| </svg> | ||||
| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										32
									
								
								bricks/core_app_brick/__brick__/ios/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,32 @@ | ||||
| *.mode1v3 | ||||
| *.mode2v3 | ||||
| *.moved-aside | ||||
| *.pbxuser | ||||
| *.perspectivev3 | ||||
| **/*sync/ | ||||
| .sconsign.dblite | ||||
| .tags* | ||||
| **/.vagrant/ | ||||
| **/DerivedData/ | ||||
| Icon? | ||||
| **/Pods/ | ||||
| **/.symlinks/ | ||||
| profile | ||||
| xcuserdata | ||||
| **/.generated/ | ||||
| Flutter/App.framework | ||||
| Flutter/Flutter.framework | ||||
| Flutter/Flutter.podspec | ||||
| Flutter/Generated.xcconfig | ||||
| Flutter/app.flx | ||||
| Flutter/app.zip | ||||
| Flutter/flutter_assets/ | ||||
| Flutter/flutter_export_environment.sh | ||||
| ServiceDefinitions.json | ||||
| Runner/GeneratedPluginRegistrant.* | ||||
| 
 | ||||
| # Exceptions to above rules. | ||||
| !default.mode1v3 | ||||
| !default.mode2v3 | ||||
| !default.pbxuser | ||||
| !default.perspectivev3 | ||||
| @ -0,0 +1,26 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
|   <key>CFBundleDevelopmentRegion</key> | ||||
|   <string>$(DEVELOPMENT_LANGUAGE)</string> | ||||
|   <key>CFBundleExecutable</key> | ||||
|   <string>App</string> | ||||
|   <key>CFBundleIdentifier</key> | ||||
|   <string>io.flutter.flutter.app</string> | ||||
|   <key>CFBundleInfoDictionaryVersion</key> | ||||
|   <string>6.0</string> | ||||
|   <key>CFBundleName</key> | ||||
|   <string>App</string> | ||||
|   <key>CFBundlePackageType</key> | ||||
|   <string>FMWK</string> | ||||
|   <key>CFBundleShortVersionString</key> | ||||
|   <string>1.0</string> | ||||
|   <key>CFBundleSignature</key> | ||||
|   <string>????</string> | ||||
|   <key>CFBundleVersion</key> | ||||
|   <string>1.0</string> | ||||
|   <key>MinimumOSVersion</key> | ||||
|   <string>9.0</string> | ||||
| </dict> | ||||
| </plist> | ||||
| @ -0,0 +1 @@ | ||||
| #include "Generated.xcconfig" | ||||
| @ -0,0 +1 @@ | ||||
| #include "Generated.xcconfig" | ||||
| @ -0,0 +1,487 @@ | ||||
| // !$*UTF8*$! | ||||
| { | ||||
| 	archiveVersion = 1; | ||||
| 	classes = { | ||||
| 	}; | ||||
| 	objectVersion = 50; | ||||
| 	objects = { | ||||
| 
 | ||||
| /* Begin PBXBuildFile section */ | ||||
| 		1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; | ||||
| 		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 */; }; | ||||
| /* End PBXBuildFile section */ | ||||
| 
 | ||||
| /* Begin PBXCopyFilesBuildPhase section */ | ||||
| 		9705A1C41CF9048500538489 /* Embed Frameworks */ = { | ||||
| 			isa = PBXCopyFilesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			dstPath = ""; | ||||
| 			dstSubfolderSpec = 10; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			name = "Embed Frameworks"; | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXCopyFilesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXFileReference section */ | ||||
| 		1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; | ||||
| 		1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; | ||||
| 		3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; }; | ||||
| 		74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; }; | ||||
| 		74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; | ||||
| 		7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; | ||||
| 		9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; | ||||
| 		9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; }; | ||||
| 		97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||||
| 		97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; | ||||
| 		97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | ||||
| 		97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||||
| 		97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||||
| /* End PBXFileReference section */ | ||||
| 
 | ||||
| /* Begin PBXFrameworksBuildPhase section */ | ||||
| 		97C146EB1CF9000F007C117D /* Frameworks */ = { | ||||
| 			isa = PBXFrameworksBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXFrameworksBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXGroup section */ | ||||
| 		9740EEB11CF90186004384FC /* Flutter */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, | ||||
| 				9740EEB21CF90195004384FC /* Debug.xcconfig */, | ||||
| 				7AFA3C8E1D35360C0083082E /* Release.xcconfig */, | ||||
| 				9740EEB31CF90195004384FC /* Generated.xcconfig */, | ||||
| 			); | ||||
| 			name = Flutter; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		97C146E51CF9000F007C117D = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				9740EEB11CF90186004384FC /* Flutter */, | ||||
| 				97C146F01CF9000F007C117D /* Runner */, | ||||
| 				97C146EF1CF9000F007C117D /* Products */, | ||||
| 			); | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		97C146EF1CF9000F007C117D /* Products */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				97C146EE1CF9000F007C117D /* Runner.app */, | ||||
| 			); | ||||
| 			name = Products; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		97C146F01CF9000F007C117D /* Runner */ = { | ||||
| 			isa = PBXGroup; | ||||
| 			children = ( | ||||
| 				97C146FA1CF9000F007C117D /* Main.storyboard */, | ||||
| 				97C146FD1CF9000F007C117D /* Assets.xcassets */, | ||||
| 				97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, | ||||
| 				97C147021CF9000F007C117D /* Info.plist */, | ||||
| 				1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, | ||||
| 				1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, | ||||
| 				74858FAE1ED2DC5600515810 /* AppDelegate.swift */, | ||||
| 				74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, | ||||
| 			); | ||||
| 			path = Runner; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| /* End PBXGroup section */ | ||||
| 
 | ||||
| /* Begin PBXNativeTarget section */ | ||||
| 		97C146ED1CF9000F007C117D /* Runner */ = { | ||||
| 			isa = PBXNativeTarget; | ||||
| 			buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; | ||||
| 			buildPhases = ( | ||||
| 				9740EEB61CF901F6004384FC /* Run Script */, | ||||
| 				97C146EA1CF9000F007C117D /* Sources */, | ||||
| 				97C146EB1CF9000F007C117D /* Frameworks */, | ||||
| 				97C146EC1CF9000F007C117D /* Resources */, | ||||
| 				9705A1C41CF9048500538489 /* Embed Frameworks */, | ||||
| 				3B06AD1E1E4923F5004D2608 /* Thin Binary */, | ||||
| 			); | ||||
| 			buildRules = ( | ||||
| 			); | ||||
| 			dependencies = ( | ||||
| 			); | ||||
| 			name = Runner; | ||||
| 			productName = Runner; | ||||
| 			productReference = 97C146EE1CF9000F007C117D /* Runner.app */; | ||||
| 			productType = "com.apple.product-type.application"; | ||||
| 		}; | ||||
| /* End PBXNativeTarget section */ | ||||
| 
 | ||||
| /* Begin PBXProject section */ | ||||
| 		97C146E61CF9000F007C117D /* Project object */ = { | ||||
| 			isa = PBXProject; | ||||
| 			attributes = { | ||||
| 				LastUpgradeCheck = 1300; | ||||
| 				ORGANIZATIONNAME = ""; | ||||
| 				TargetAttributes = { | ||||
| 					97C146ED1CF9000F007C117D = { | ||||
| 						CreatedOnToolsVersion = 7.3.1; | ||||
| 						LastSwiftMigration = 1100; | ||||
| 					}; | ||||
| 				}; | ||||
| 			}; | ||||
| 			buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; | ||||
| 			compatibilityVersion = "Xcode 9.3"; | ||||
| 			developmentRegion = en; | ||||
| 			hasScannedForEncodings = 0; | ||||
| 			knownRegions = ( | ||||
| 				en, | ||||
| 				Base, | ||||
| 			); | ||||
| 			mainGroup = 97C146E51CF9000F007C117D; | ||||
| 			productRefGroup = 97C146EF1CF9000F007C117D /* Products */; | ||||
| 			projectDirPath = ""; | ||||
| 			projectRoot = ""; | ||||
| 			targets = ( | ||||
| 				97C146ED1CF9000F007C117D /* Runner */, | ||||
| 			); | ||||
| 		}; | ||||
| /* End PBXProject section */ | ||||
| 
 | ||||
| /* Begin PBXResourcesBuildPhase section */ | ||||
| 		97C146EC1CF9000F007C117D /* Resources */ = { | ||||
| 			isa = PBXResourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, | ||||
| 				3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, | ||||
| 				97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, | ||||
| 				97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXResourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXShellScriptBuildPhase section */ | ||||
| 		3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Thin Binary"; | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; | ||||
| 		}; | ||||
| 		9740EEB61CF901F6004384FC /* Run Script */ = { | ||||
| 			isa = PBXShellScriptBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 			); | ||||
| 			inputPaths = ( | ||||
| 			); | ||||
| 			name = "Run Script"; | ||||
| 			outputPaths = ( | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 			shellPath = /bin/sh; | ||||
| 			shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; | ||||
| 		}; | ||||
| /* End PBXShellScriptBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXSourcesBuildPhase section */ | ||||
| 		97C146EA1CF9000F007C117D /* Sources */ = { | ||||
| 			isa = PBXSourcesBuildPhase; | ||||
| 			buildActionMask = 2147483647; | ||||
| 			files = ( | ||||
| 				74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, | ||||
| 				1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, | ||||
| 			); | ||||
| 			runOnlyForDeploymentPostprocessing = 0; | ||||
| 		}; | ||||
| /* End PBXSourcesBuildPhase section */ | ||||
| 
 | ||||
| /* Begin PBXVariantGroup section */ | ||||
| 		97C146FA1CF9000F007C117D /* Main.storyboard */ = { | ||||
| 			isa = PBXVariantGroup; | ||||
| 			children = ( | ||||
| 				97C146FB1CF9000F007C117D /* Base */, | ||||
| 			); | ||||
| 			name = Main.storyboard; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| 		97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { | ||||
| 			isa = PBXVariantGroup; | ||||
| 			children = ( | ||||
| 				97C147001CF9000F007C117D /* Base */, | ||||
| 			); | ||||
| 			name = LaunchScreen.storyboard; | ||||
| 			sourceTree = "<group>"; | ||||
| 		}; | ||||
| /* End PBXVariantGroup section */ | ||||
| 
 | ||||
| /* Begin XCBuildConfiguration section */ | ||||
| 		249021D3217E4FDB00AE95B9 /* Profile */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_NONNULL = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = YES; | ||||
| 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||||
| 				CLANG_WARN_BOOL_CONVERSION = YES; | ||||
| 				CLANG_WARN_COMMA = YES; | ||||
| 				CLANG_WARN_CONSTANT_CONVERSION = YES; | ||||
| 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||||
| 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||||
| 				CLANG_WARN_EMPTY_BODY = YES; | ||||
| 				CLANG_WARN_ENUM_CONVERSION = YES; | ||||
| 				CLANG_WARN_INFINITE_RECURSION = YES; | ||||
| 				CLANG_WARN_INT_CONVERSION = YES; | ||||
| 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||||
| 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||||
| 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||||
| 				GCC_WARN_UNDECLARED_SELECTOR = YES; | ||||
| 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||||
| 				GCC_WARN_UNUSED_FUNCTION = YES; | ||||
| 				GCC_WARN_UNUSED_VARIABLE = YES; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.0; | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				SUPPORTED_PLATFORMS = iphoneos; | ||||
| 				TARGETED_DEVICE_FAMILY = "1,2"; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
| 			}; | ||||
| 			name = "Profile"; | ||||
| 		}; | ||||
| 		249021D4217E4FDB00AE95B9 /* Profile */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				FLAVOR_APP_NAME = "{{#titleCase}}{{project_name}}{{/titleCase}}"; | ||||
| 				INFOPLIST_FILE = Runner/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = {{#dotCase}}{{org_name}}{{/dotCase}}.{{#paramCase}}{{project_name}}{{/paramCase}}; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = "Profile"; | ||||
| 		}; | ||||
| 		97C147031CF9000F007C117D /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_NONNULL = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = YES; | ||||
| 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||||
| 				CLANG_WARN_BOOL_CONVERSION = YES; | ||||
| 				CLANG_WARN_COMMA = YES; | ||||
| 				CLANG_WARN_CONSTANT_CONVERSION = YES; | ||||
| 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||||
| 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||||
| 				CLANG_WARN_EMPTY_BODY = YES; | ||||
| 				CLANG_WARN_ENUM_CONVERSION = YES; | ||||
| 				CLANG_WARN_INFINITE_RECURSION = YES; | ||||
| 				CLANG_WARN_INT_CONVERSION = YES; | ||||
| 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||||
| 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||||
| 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				DEBUG_INFORMATION_FORMAT = dwarf; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				ENABLE_TESTABILITY = YES; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_DYNAMIC_NO_PIC = NO; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_OPTIMIZATION_LEVEL = 0; | ||||
| 				GCC_PREPROCESSOR_DEFINITIONS = ( | ||||
| 					"DEBUG=1", | ||||
| 					"$(inherited)", | ||||
| 				); | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||||
| 				GCC_WARN_UNDECLARED_SELECTOR = YES; | ||||
| 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||||
| 				GCC_WARN_UNUSED_FUNCTION = YES; | ||||
| 				GCC_WARN_UNUSED_VARIABLE = YES; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.0; | ||||
| 				MTL_ENABLE_DEBUG_INFO = YES; | ||||
| 				ONLY_ACTIVE_ARCH = YES; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				TARGETED_DEVICE_FAMILY = "1,2"; | ||||
| 			}; | ||||
| 			name = "Debug"; | ||||
| 		}; | ||||
| 		97C147041CF9000F007C117D /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			buildSettings = { | ||||
| 				ALWAYS_SEARCH_USER_PATHS = NO; | ||||
| 				CLANG_ANALYZER_NONNULL = YES; | ||||
| 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||||
| 				CLANG_CXX_LIBRARY = "libc++"; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CLANG_ENABLE_OBJC_ARC = YES; | ||||
| 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||||
| 				CLANG_WARN_BOOL_CONVERSION = YES; | ||||
| 				CLANG_WARN_COMMA = YES; | ||||
| 				CLANG_WARN_CONSTANT_CONVERSION = YES; | ||||
| 				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||||
| 				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||||
| 				CLANG_WARN_EMPTY_BODY = YES; | ||||
| 				CLANG_WARN_ENUM_CONVERSION = YES; | ||||
| 				CLANG_WARN_INFINITE_RECURSION = YES; | ||||
| 				CLANG_WARN_INT_CONVERSION = YES; | ||||
| 				CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||||
| 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||||
| 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||||
| 				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; | ||||
| 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||||
| 				CLANG_WARN_STRICT_PROTOTYPES = YES; | ||||
| 				CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||||
| 				CLANG_WARN_UNREACHABLE_CODE = YES; | ||||
| 				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||||
| 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||||
| 				COPY_PHASE_STRIP = NO; | ||||
| 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||||
| 				ENABLE_NS_ASSERTIONS = NO; | ||||
| 				ENABLE_STRICT_OBJC_MSGSEND = YES; | ||||
| 				GCC_C_LANGUAGE_STANDARD = gnu99; | ||||
| 				GCC_NO_COMMON_BLOCKS = YES; | ||||
| 				GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||||
| 				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||||
| 				GCC_WARN_UNDECLARED_SELECTOR = YES; | ||||
| 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||||
| 				GCC_WARN_UNUSED_FUNCTION = YES; | ||||
| 				GCC_WARN_UNUSED_VARIABLE = YES; | ||||
| 				IPHONEOS_DEPLOYMENT_TARGET = 12.0; | ||||
| 				MTL_ENABLE_DEBUG_INFO = NO; | ||||
| 				SDKROOT = iphoneos; | ||||
| 				SUPPORTED_PLATFORMS = iphoneos; | ||||
| 				SWIFT_COMPILATION_MODE = wholemodule; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-O"; | ||||
| 				TARGETED_DEVICE_FAMILY = "1,2"; | ||||
| 				VALIDATE_PRODUCT = YES; | ||||
| 			}; | ||||
| 			name = "Release"; | ||||
| 		}; | ||||
| 		97C147061CF9000F007C117D /* Debug */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				FLAVOR_APP_NAME = "{{#titleCase}}{{project_name}}{{/titleCase}}"; | ||||
| 				INFOPLIST_FILE = Runner/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = {{#dotCase}}{{org_name}}{{/dotCase}}.{{#paramCase}}{{project_name}}{{/paramCase}}; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||||
| 				SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = "Debug"; | ||||
| 		}; | ||||
| 		97C147071CF9000F007C117D /* Release */ = { | ||||
| 			isa = XCBuildConfiguration; | ||||
| 			baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; | ||||
| 			buildSettings = { | ||||
| 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||||
| 				CLANG_ENABLE_MODULES = YES; | ||||
| 				CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||||
| 				ENABLE_BITCODE = NO; | ||||
| 				FLAVOR_APP_NAME = "{{#titleCase}}{{project_name}}{{/titleCase}}"; | ||||
| 				INFOPLIST_FILE = Runner/Info.plist; | ||||
| 				LD_RUNPATH_SEARCH_PATHS = ( | ||||
| 					"$(inherited)", | ||||
| 					"@executable_path/Frameworks", | ||||
| 				); | ||||
| 				PRODUCT_BUNDLE_IDENTIFIER = {{#dotCase}}{{org_name}}{{/dotCase}}.{{#paramCase}}{{project_name}}{{/paramCase}}; | ||||
| 				PRODUCT_NAME = "$(TARGET_NAME)"; | ||||
| 				SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||||
| 				SWIFT_VERSION = 5.0; | ||||
| 				VERSIONING_SYSTEM = "apple-generic"; | ||||
| 			}; | ||||
| 			name = "Release"; | ||||
| 		}; | ||||
| /* End XCBuildConfiguration section */ | ||||
| 
 | ||||
| /* Begin XCConfigurationList section */ | ||||
| 		97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				97C147031CF9000F007C117D /* Debug */, | ||||
| 				97C147041CF9000F007C117D /* Release */, | ||||
| 				249021D3217E4FDB00AE95B9 /* Profile */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = "Release"; | ||||
| 		}; | ||||
| 		97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { | ||||
| 			isa = XCConfigurationList; | ||||
| 			buildConfigurations = ( | ||||
| 				97C147061CF9000F007C117D /* Debug */, | ||||
| 				97C147071CF9000F007C117D /* Release */, | ||||
| 				249021D4217E4FDB00AE95B9 /* Profile */, | ||||
| 			); | ||||
| 			defaultConfigurationIsVisible = 0; | ||||
| 			defaultConfigurationName = "Release"; | ||||
| 		}; | ||||
| /* End XCConfigurationList section */ | ||||
| 	}; | ||||
| 	rootObject = 97C146E61CF9000F007C117D /* Project object */; | ||||
| } | ||||
| @ -0,0 +1,7 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Workspace | ||||
|    version = "1.0"> | ||||
|    <FileRef | ||||
|       location = "self:"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>IDEDidComputeMac32BitWarning</key> | ||||
| 	<true/> | ||||
| </dict> | ||||
| </plist> | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>PreviewsEnabled</key> | ||||
| 	<false/> | ||||
| </dict> | ||||
| </plist> | ||||
| @ -0,0 +1,87 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Scheme | ||||
|    LastUpgradeVersion = "1300" | ||||
|    version = "1.3"> | ||||
|    <BuildAction | ||||
|       parallelizeBuildables = "YES" | ||||
|       buildImplicitDependencies = "YES"> | ||||
|       <BuildActionEntries> | ||||
|          <BuildActionEntry | ||||
|             buildForTesting = "YES" | ||||
|             buildForRunning = "YES" | ||||
|             buildForProfiling = "YES" | ||||
|             buildForArchiving = "YES" | ||||
|             buildForAnalyzing = "YES"> | ||||
|             <BuildableReference | ||||
|                BuildableIdentifier = "primary" | ||||
|                BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||||
|                BuildableName = "Runner.app" | ||||
|                BlueprintName = "Runner" | ||||
|                ReferencedContainer = "container:Runner.xcodeproj"> | ||||
|             </BuildableReference> | ||||
|          </BuildActionEntry> | ||||
|       </BuildActionEntries> | ||||
|    </BuildAction> | ||||
|    <TestAction | ||||
|       buildConfiguration = "Debug" | ||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||||
|       shouldUseLaunchSchemeArgsEnv = "YES"> | ||||
|       <MacroExpansion> | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||||
|             BuildableName = "Runner.app" | ||||
|             BlueprintName = "Runner" | ||||
|             ReferencedContainer = "container:Runner.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </MacroExpansion> | ||||
|       <Testables> | ||||
|       </Testables> | ||||
|    </TestAction> | ||||
|    <LaunchAction | ||||
|       buildConfiguration = "Debug" | ||||
|       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||||
|       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||||
|       launchStyle = "0" | ||||
|       useCustomWorkingDirectory = "NO" | ||||
|       ignoresPersistentStateOnLaunch = "NO" | ||||
|       debugDocumentVersioning = "YES" | ||||
|       debugServiceExtension = "internal" | ||||
|       allowLocationSimulation = "YES"> | ||||
|       <BuildableProductRunnable | ||||
|          runnableDebuggingMode = "0"> | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||||
|             BuildableName = "Runner.app" | ||||
|             BlueprintName = "Runner" | ||||
|             ReferencedContainer = "container:Runner.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </LaunchAction> | ||||
|    <ProfileAction | ||||
|       buildConfiguration = "Profile" | ||||
|       shouldUseLaunchSchemeArgsEnv = "YES" | ||||
|       savedToolIdentifier = "" | ||||
|       useCustomWorkingDirectory = "NO" | ||||
|       debugDocumentVersioning = "YES"> | ||||
|       <BuildableProductRunnable | ||||
|          runnableDebuggingMode = "0"> | ||||
|          <BuildableReference | ||||
|             BuildableIdentifier = "primary" | ||||
|             BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||||
|             BuildableName = "Runner.app" | ||||
|             BlueprintName = "Runner" | ||||
|             ReferencedContainer = "container:Runner.xcodeproj"> | ||||
|          </BuildableReference> | ||||
|       </BuildableProductRunnable> | ||||
|    </ProfileAction> | ||||
|    <AnalyzeAction | ||||
|       buildConfiguration = "Debug"> | ||||
|    </AnalyzeAction> | ||||
|    <ArchiveAction | ||||
|       buildConfiguration = "Release" | ||||
|       revealArchiveInOrganizer = "YES"> | ||||
|    </ArchiveAction> | ||||
| </Scheme> | ||||
							
								
								
									
										7
									
								
								bricks/core_app_brick/__brick__/ios/Runner.xcworkspace/contents.xcworkspacedata
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,7 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Workspace | ||||
|    version = "1.0"> | ||||
|    <FileRef | ||||
|       location = "group:Runner.xcodeproj"> | ||||
|    </FileRef> | ||||
| </Workspace> | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>IDEDidComputeMac32BitWarning</key> | ||||
| 	<true/> | ||||
| </dict> | ||||
| </plist> | ||||
| @ -0,0 +1,8 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||
| <plist version="1.0"> | ||||
| <dict> | ||||
| 	<key>PreviewsEnabled</key> | ||||
| 	<false/> | ||||
| </dict> | ||||
| </plist> | ||||
							
								
								
									
										13
									
								
								bricks/core_app_brick/__brick__/ios/Runner/AppDelegate.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,13 @@ | ||||
| import UIKit | ||||
| import Flutter | ||||
| 
 | ||||
| @UIApplicationMain | ||||
| @objc class AppDelegate: FlutterAppDelegate { | ||||
|   override func application( | ||||
|     _ application: UIApplication, | ||||
|     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? | ||||
|   ) -> Bool { | ||||
|     GeneratedPluginRegistrant.register(with: self) | ||||
|     return super.application(application, didFinishLaunchingWithOptions: launchOptions) | ||||
|   } | ||||
| } | ||||
| After Width: | Height: | Size: 7.2 KiB | 
| After Width: | Height: | Size: 100 KiB | 
| After Width: | Height: | Size: 8.6 KiB | 
| After Width: | Height: | Size: 9.3 KiB | 
| After Width: | Height: | Size: 10 KiB | 
| After Width: | Height: | Size: 12 KiB | 
| After Width: | Height: | Size: 12 KiB | 
| After Width: | Height: | Size: 721 B | 
| After Width: | Height: | Size: 14 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 16 KiB | 
| After Width: | Height: | Size: 17 KiB | 
| After Width: | Height: | Size: 986 B | 
| After Width: | Height: | Size: 20 KiB | 
| After Width: | Height: | Size: 24 KiB | 
| After Width: | Height: | Size: 1.6 KiB | 
| After Width: | Height: | Size: 1.7 KiB | 
| After Width: | Height: | Size: 2.3 KiB | 
| After Width: | Height: | Size: 2.9 KiB | 
| After Width: | Height: | Size: 3.1 KiB | 
| After Width: | Height: | Size: 56 KiB | 
| After Width: | Height: | Size: 3.4 KiB | 
| After Width: | Height: | Size: 3.6 KiB | 
| After Width: | Height: | Size: 3.7 KiB | 
| After Width: | Height: | Size: 3.8 KiB | 
| After Width: | Height: | Size: 4.1 KiB | 
| After Width: | Height: | Size: 4.8 KiB | 
| After Width: | Height: | Size: 5.2 KiB | 
| After Width: | Height: | Size: 5.4 KiB | 
| After Width: | Height: | Size: 6.1 KiB | 
| After Width: | Height: | Size: 6.1 KiB | 
| @ -0,0 +1,330 @@ | ||||
| { | ||||
|   "images" : [ | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "60.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "29.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "1x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "87.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "120.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "57.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "1x", | ||||
|       "size" : "57x57" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "114.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "57x57" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "120.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "2x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "180.png", | ||||
|       "idiom" : "iphone", | ||||
|       "scale" : "3x", | ||||
|       "size" : "60x60" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "20.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "20x20" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "29.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "40.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "50.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "50x50" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "100.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "50x50" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "72.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "72x72" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "144.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "72x72" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "76.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "1x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "152.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "76x76" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "167.png", | ||||
|       "idiom" : "ipad", | ||||
|       "scale" : "2x", | ||||
|       "size" : "83.5x83.5" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "ios-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "48.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "24x24", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "55.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "27.5x27.5", | ||||
|       "subtype" : "42mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "58.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "companionSettings", | ||||
|       "scale" : "2x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "87.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "companionSettings", | ||||
|       "scale" : "3x", | ||||
|       "size" : "29x29" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "notificationCenter", | ||||
|       "scale" : "2x", | ||||
|       "size" : "33x33", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "80.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "40x40", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "88.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "44x44", | ||||
|       "subtype" : "40mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "46x46", | ||||
|       "subtype" : "41mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "100.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "50x50", | ||||
|       "subtype" : "44mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "appLauncher", | ||||
|       "scale" : "2x", | ||||
|       "size" : "51x51", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "172.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "86x86", | ||||
|       "subtype" : "38mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "196.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "98x98", | ||||
|       "subtype" : "42mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "216.png", | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "108x108", | ||||
|       "subtype" : "44mm" | ||||
|     }, | ||||
|     { | ||||
|       "idiom" : "watch", | ||||
|       "role" : "quickLook", | ||||
|       "scale" : "2x", | ||||
|       "size" : "117x117", | ||||
|       "subtype" : "45mm" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "watch-marketing", | ||||
|       "scale" : "1x", | ||||
|       "size" : "1024x1024" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "16.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "16x16" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "32.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "16x16" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "32.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "32x32" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "64.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "32x32" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "128.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "128x128" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "256.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "128x128" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "256.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "256x256" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "512.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "256x256" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "512.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "1x", | ||||
|       "size" : "512x512" | ||||
|     }, | ||||
|     { | ||||
|       "filename" : "1024.png", | ||||
|       "idiom" : "mac", | ||||
|       "scale" : "2x", | ||||
|       "size" : "512x512" | ||||
|     } | ||||
|   ], | ||||
|   "info" : { | ||||
|     "author" : "xcode", | ||||
|     "version" : 1 | ||||
|   } | ||||
| } | ||||
| After Width: | Height: | Size: 7.3 KiB | 
| After Width: | Height: | Size: 102 KiB | 
| After Width: | Height: | Size: 8.7 KiB | 
| After Width: | Height: | Size: 9.3 KiB | 
| After Width: | Height: | Size: 10 KiB | 
| After Width: | Height: | Size: 12 KiB | 
| After Width: | Height: | Size: 13 KiB | 
| After Width: | Height: | Size: 716 B | 
| After Width: | Height: | Size: 14 KiB | 
| After Width: | Height: | Size: 15 KiB | 
| After Width: | Height: | Size: 16 KiB | 
 Malo Léon
						Malo Léon