From 325ecef8802b34c84202afb3869d7733e86a6559 Mon Sep 17 00:00:00 2001 From: Eldar2021 Date: Sat, 13 Jan 2024 17:20:29 +0600 Subject: [PATCH 1/5] Implemented patrol pkg and patrol cli --- app/pubspec.lock | 16 ++++++++++++++++ app/pubspec.yaml | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/app/pubspec.lock b/app/pubspec.lock index e91725f6..0a2fdf64 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -734,6 +734,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.2.1" + patrol: + dependency: "direct dev" + description: + name: patrol + sha256: "0832f9054779417312c083098a7dcea13fa556384400204a2d460e59db0f2ef9" + url: "https://pub.dev" + source: hosted + version: "3.4.0" + patrol_finders: + dependency: transitive + description: + name: patrol_finders + sha256: "909a5c28ba1730e5e1e06e06ec78f4ccc49f7e211f3a0919adac552841df19ee" + url: "https://pub.dev" + source: hosted + version: "2.0.1+1" petitparser: dependency: transitive description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 3a83d72b..d73c8fe8 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -51,6 +51,7 @@ dev_dependencies: build_runner: ^2.4.7 flutter_gen_runner: ^5.3.2 json_serializable: ^6.7.1 + patrol: ^3.4.0 # flutter_launcher_icons: ^0.13.1 flutter: @@ -81,3 +82,10 @@ flutter_icons: ios: true image_path: "assets/images/app_icon.png" # flutter pub run flutter_launcher_icons + +patrol: + app_name: MyQuran + android: + package_name: com.alee.my_quran.example + ios: + bundle_id: com.alee.hatimapp.example From 78b92f6c2967ee597a80f8abe48af04440d3e6d1 Mon Sep 17 00:00:00 2001 From: Eldar2021 Date: Sat, 13 Jan 2024 18:44:09 +0600 Subject: [PATCH 2/5] Android success --- app/android/app/build.gradle | 9 +- .../com/example/hatim/MainActivityTest.java | 33 +++ app/integration_test/example_test.dart | 27 ++ app/integration_test/test_bundle.dart | 83 ++++++ app/ios/Podfile | 3 + app/ios/Podfile.lock | 13 +- app/ios/Runner.xcodeproj/project.pbxproj | 271 +++++++++++++++++- .../xcshareddata/xcschemes/Runner.xcscheme | 10 + app/ios/RunnerUITests/RunnerUITests.m | 5 + 9 files changed, 448 insertions(+), 6 deletions(-) create mode 100644 app/android/app/src/androidTest/java/com/example/hatim/MainActivityTest.java create mode 100644 app/integration_test/example_test.dart create mode 100644 app/integration_test/test_bundle.dart create mode 100644 app/ios/RunnerUITests/RunnerUITests.m diff --git a/app/android/app/build.gradle b/app/android/app/build.gradle index 31fa8bd2..344c6e66 100644 --- a/app/android/app/build.gradle +++ b/app/android/app/build.gradle @@ -47,11 +47,17 @@ android { applicationId "com.alee.my_quran" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion 19 // flutter.minSdkVersion + minSdkVersion 21 // flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode 8 // flutterVersionCode.toInteger() versionName "1.2.2" // flutterVersionName multiDexEnabled true + testInstrumentationRunner "pl.leancode.patrol.PatrolJUnitRunner" + testInstrumentationRunnerArguments clearPackageData: "true" + } + + testOptions { + execution "ANDROIDX_TEST_ORCHESTRATOR" } // signingConfigs { @@ -78,4 +84,5 @@ flutter { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + androidTestUtil "androidx.test:orchestrator:1.4.2" } diff --git a/app/android/app/src/androidTest/java/com/example/hatim/MainActivityTest.java b/app/android/app/src/androidTest/java/com/example/hatim/MainActivityTest.java new file mode 100644 index 00000000..5c1fc0dc --- /dev/null +++ b/app/android/app/src/androidTest/java/com/example/hatim/MainActivityTest.java @@ -0,0 +1,33 @@ +package com.alee.my_quran; + +import androidx.test.platform.app.InstrumentationRegistry; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameters; +import pl.leancode.patrol.PatrolJUnitRunner; + +@RunWith(Parameterized.class) +public class MainActivityTest { + @Parameters(name = "{0}") + public static Object[] testCases() { + PatrolJUnitRunner instrumentation = (PatrolJUnitRunner) InstrumentationRegistry.getInstrumentation(); + // replace "MainActivity.class" with "io.flutter.embedding.android.FlutterActivity.class" + // if your AndroidManifest is using: android:name="io.flutter.embedding.android.FlutterActivity" + instrumentation.setUp(MainActivity.class); + instrumentation.waitForPatrolAppService(); + return instrumentation.listDartTests(); + } + + public MainActivityTest(String dartTestName) { + this.dartTestName = dartTestName; + } + + private final String dartTestName; + + @Test + public void runDartTest() { + PatrolJUnitRunner instrumentation = (PatrolJUnitRunner) InstrumentationRegistry.getInstrumentation(); + instrumentation.runDartTest(dartTestName); + } +} diff --git a/app/integration_test/example_test.dart b/app/integration_test/example_test.dart new file mode 100644 index 00000000..689f856f --- /dev/null +++ b/app/integration_test/example_test.dart @@ -0,0 +1,27 @@ +import 'dart:io'; + +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:patrol/patrol.dart'; + +void main() { + patrolTest( + 'counter state is the same after going to home and switching apps', + ($) async { + // Replace later with your app's main widget + await $.pumpWidgetAndSettle( + MaterialApp( + home: Scaffold( + appBar: AppBar(title: const Text('app')), + backgroundColor: Colors.blue, + ), + ), + ); + + expect($('app'), findsOneWidget); + if (!Platform.isMacOS) { + await $.native.pressHome(); + } + }, + ); +} diff --git a/app/integration_test/test_bundle.dart b/app/integration_test/test_bundle.dart new file mode 100644 index 00000000..a6ae3016 --- /dev/null +++ b/app/integration_test/test_bundle.dart @@ -0,0 +1,83 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND AND DO NOT COMMIT TO VERSION CONTROL +// ignore_for_file: type=lint, invalid_use_of_internal_member + +import 'dart:async'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:patrol/patrol.dart'; +import 'package:patrol/src/native/contracts/contracts.dart'; +import 'package:test_api/src/backend/invoker.dart'; + +// START: GENERATED TEST IMPORTS +import 'example_test.dart' as example_test; +// END: GENERATED TEST IMPORTS + +Future main() async { + // This is the entrypoint of the bundled Dart test. + // + // Its responsibilies are: + // * Running a special Dart test that runs before all the other tests and + // explores the hierarchy of groups and tests. + // * Hosting a PatrolAppService, which the native side of Patrol uses to get + // the Dart tests, and to request execution of a specific Dart test. + // + // When running on Android, the Android Test Orchestrator, before running the + // tests, makes an initial run to gather the tests that it will later run. The + // native side of Patrol (specifically: PatrolJUnitRunner class) is hooked + // into the Android Test Orchestrator lifecycle and knows when that initial + // run happens. When it does, PatrolJUnitRunner makes an RPC call to + // PatrolAppService and asks it for Dart tests. + // + // When running on iOS, the native side of Patrol (specifically: the + // PATROL_INTEGRATION_TEST_IOS_RUNNER macro) makes an initial run to gather + // the tests that it will later run (same as the Android). During that initial + // run, it makes an RPC call to PatrolAppSevice and asks it for Dart tests. + // + // Once the native runner has the list of Dart tests, it dynamically creates + // native test cases from them. On Android, this is done using the + // Parametrized JUnit runner. On iOS, new test case methods are swizzled into + // the RunnerUITests class, taking advantage of the very dynamic nature of + // Objective-C runtime. + // + // Execution of these dynamically created native test cases is then fully + // managed by the underlying native test framework (JUnit on Android, XCTest + // on iOS). The native test cases do only one thing - request execution of the + // Dart test (out of which they had been created) and wait for it to complete. + // The result of running the Dart test is the result of the native test case. + + final nativeAutomator = NativeAutomator(config: NativeAutomatorConfig()); + await nativeAutomator.initialize(); + final binding = PatrolBinding.ensureInitialized(NativeAutomatorConfig()); + final testExplorationCompleter = Completer(); + + // A special test to explore the hierarchy of groups and tests. This is a hack + // around https://github.com/dart-lang/test/issues/1998. + // + // This test must be the first to run. If not, the native side likely won't + // receive any tests, and everything will fall apart. + test('patrol_test_explorer', () { + // Maybe somewhat counterintuitively, this callback runs *after* the calls + // to group() below. + final topLevelGroup = Invoker.current!.liveTest.groups.first; + final dartTestGroup = createDartTestGroup(topLevelGroup); + testExplorationCompleter.complete(dartTestGroup); + print('patrol_test_explorer: obtained Dart-side test hierarchy:'); + printGroupStructure(dartTestGroup); + }); + + // START: GENERATED TEST GROUPS + group('example_test', example_test.main); + // END: GENERATED TEST GROUPS + + final dartTestGroup = await testExplorationCompleter.future; + final appService = PatrolAppService(topLevelDartTestGroup: dartTestGroup); + binding.patrolAppService = appService; + await runAppService(appService); + + // Until now, the native test runner was waiting for us, the Dart side, to + // come alive. Now that we did, let's tell it that we're ready to be asked + // about Dart tests. + await nativeAutomator.markPatrolAppServiceReady(); + + await appService.testExecutionCompleted; +} diff --git a/app/ios/Podfile b/app/ios/Podfile index 2c068c40..6cffdb7c 100644 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -32,6 +32,9 @@ target 'Runner' do use_modular_headers! flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerUITests' do + inherit! :complete + end end post_install do |installer| diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index d10b76bd..12c7a49e 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -3,6 +3,7 @@ PODS: - Flutter - audio_session (0.0.1): - Flutter + - CocoaAsyncSocket (7.6.5) - connectivity_plus (0.0.1): - Flutter - ReachabilitySwift @@ -19,6 +20,10 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS + - patrol (0.0.1): + - CocoaAsyncSocket (~> 7.6) + - Flutter + - FlutterMacOS - ReachabilitySwift (5.0.0) - shared_preferences_foundation (0.0.1): - Flutter @@ -38,12 +43,14 @@ DEPENDENCIES: - just_audio (from `.symlinks/plugins/just_audio/ios`) - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - patrol (from `.symlinks/plugins/patrol/darwin`) - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) SPEC REPOS: trunk: + - CocoaAsyncSocket - FMDB - ReachabilitySwift @@ -64,6 +71,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/package_info_plus/ios" path_provider_foundation: :path: ".symlinks/plugins/path_provider_foundation/darwin" + patrol: + :path: ".symlinks/plugins/patrol/darwin" shared_preferences_foundation: :path: ".symlinks/plugins/shared_preferences_foundation/darwin" sqflite: @@ -74,6 +83,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: audio_service: f509d65da41b9521a61f1c404dd58651f265a567 audio_session: 4f3e461722055d21515cf3261b64c973c062f345 + CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 connectivity_plus: bf0076dd84a130856aa636df1c71ccaff908fa1d device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854 @@ -81,11 +91,12 @@ SPEC CHECKSUMS: just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85 path_provider_foundation: 29f094ae23ebbca9d3d0cec13889cd9060c0e943 + patrol: 3e21d514020dbee24b3e3383caac9e8e051292ac ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126 sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b -PODFILE CHECKSUM: 4e8f8b2be68aeea4c0d5beb6ff1e79fface1d048 +PODFILE CHECKSUM: 6804bb879165078e422309eee0e67003bedf8b37 COCOAPODS: 1.13.0 diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj index f773aabe..f4b84c38 100644 --- a/app/ios/Runner.xcodeproj/project.pbxproj +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -8,14 +8,26 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 17C77BCB2B52ACF300130CC5 /* RunnerUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */; }; 1C13811B0E9A8D00CE29505E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A8F88A7DFD1AAA2431881E8 /* Pods_Runner.framework */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 42EB217D12A60546FCE275DB /* Pods_Runner_RunnerUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86BE4883960A907867D29BF9 /* Pods_Runner_RunnerUITests.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 */; }; /* End PBXBuildFile section */ +/* Begin PBXContainerItemProxy section */ + 17C77BCE2B52ACF300130CC5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + /* Begin PBXCopyFilesBuildPhase section */ 9705A1C41CF9048500538489 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; @@ -33,12 +45,17 @@ 0BC5A8A082B658D25207B179 /* 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 = ""; }; + 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerUITests.m; sourceTree = ""; }; + 259EF098471406B311512E26 /* Pods-Runner-RunnerUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner-RunnerUITests.debug.xcconfig"; path = "Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests.debug.xcconfig"; sourceTree = ""; }; 3A8F88A7DFD1AAA2431881E8 /* 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 = ""; }; + 4566693C2C815E1498E5AE50 /* Pods-Runner-RunnerUITests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner-RunnerUITests.profile.xcconfig"; path = "Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests.profile.xcconfig"; sourceTree = ""; }; 5FAFBE7E0A039C2ECFAC90E9 /* 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 = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 86BE4883960A907867D29BF9 /* Pods_Runner_RunnerUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner_RunnerUITests.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; }; @@ -47,9 +64,18 @@ 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 = ""; }; 9D21A66C35E6884D596008EE /* 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 = ""; }; + C8BB415384D267A6CD1C3847 /* Pods-Runner-RunnerUITests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner-RunnerUITests.release.xcconfig"; path = "Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 17C77BC52B52ACF300130CC5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 42EB217D12A60546FCE275DB /* Pods_Runner_RunnerUITests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -61,12 +87,23 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 17C77BC92B52ACF300130CC5 /* RunnerUITests */ = { + isa = PBXGroup; + children = ( + 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */, + ); + path = RunnerUITests; + sourceTree = ""; + }; 8803ACB4FC02EC5B3A6C7031 /* Pods */ = { isa = PBXGroup; children = ( 5FAFBE7E0A039C2ECFAC90E9 /* Pods-Runner.debug.xcconfig */, 9D21A66C35E6884D596008EE /* Pods-Runner.release.xcconfig */, 0BC5A8A082B658D25207B179 /* Pods-Runner.profile.xcconfig */, + 259EF098471406B311512E26 /* Pods-Runner-RunnerUITests.debug.xcconfig */, + C8BB415384D267A6CD1C3847 /* Pods-Runner-RunnerUITests.release.xcconfig */, + 4566693C2C815E1498E5AE50 /* Pods-Runner-RunnerUITests.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -87,6 +124,7 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, + 17C77BC92B52ACF300130CC5 /* RunnerUITests */, 97C146EF1CF9000F007C117D /* Products */, 8803ACB4FC02EC5B3A6C7031 /* Pods */, CA27276DAF1B4188A69554F8 /* Frameworks */, @@ -97,6 +135,7 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, + 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */, ); name = Products; sourceTree = ""; @@ -120,6 +159,7 @@ isa = PBXGroup; children = ( 3A8F88A7DFD1AAA2431881E8 /* Pods_Runner.framework */, + 86BE4883960A907867D29BF9 /* Pods_Runner_RunnerUITests.framework */, ); name = Frameworks; sourceTree = ""; @@ -127,6 +167,28 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 17C77BC72B52ACF300130CC5 /* RunnerUITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 17C77BD32B52ACF300130CC5 /* Build configuration list for PBXNativeTarget "RunnerUITests" */; + buildPhases = ( + A42B86F12403E2B1B433D479 /* [CP] Check Pods Manifest.lock */, + 17C77BD42B52AF5C00130CC5 /* xcode_backend build */, + 17C77BC42B52ACF300130CC5 /* Sources */, + 17C77BC52B52ACF300130CC5 /* Frameworks */, + 17C77BC62B52ACF300130CC5 /* Resources */, + D51FB382D7DC1A380CDC6C76 /* [CP] Embed Pods Frameworks */, + 17C77BD52B52AF6C00130CC5 /* xcode_backend embed_and_thin */, + ); + buildRules = ( + ); + dependencies = ( + 17C77BCF2B52ACF300130CC5 /* PBXTargetDependency */, + ); + name = RunnerUITests; + productName = RunnerUITests; + productReference = 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; 97C146ED1CF9000F007C117D /* Runner */ = { isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; @@ -158,6 +220,10 @@ LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { + 17C77BC72B52ACF300130CC5 = { + CreatedOnToolsVersion = 15.0.1; + TestTargetID = 97C146ED1CF9000F007C117D; + }; 97C146ED1CF9000F007C117D = { CreatedOnToolsVersion = 7.3.1; LastSwiftMigration = 1100; @@ -178,11 +244,19 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, + 17C77BC72B52ACF300130CC5 /* RunnerUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 17C77BC62B52ACF300130CC5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EC1CF9000F007C117D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -197,6 +271,42 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 17C77BD42B52AF5C00130CC5 /* xcode_backend build */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "xcode_backend build"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; + }; + 17C77BD52B52AF6C00130CC5 /* xcode_backend embed_and_thin */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "xcode_backend embed_and_thin"; + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin\n\n"; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -245,6 +355,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + A42B86F12403E2B1B433D479 /* [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-RunnerUITests-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; + }; C08FF514D50BDF6EB2313D02 /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -267,9 +399,34 @@ 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; }; + D51FB382D7DC1A380CDC6C76 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 17C77BC42B52ACF300130CC5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 17C77BCB2B52ACF300130CC5 /* RunnerUITests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EA1CF9000F007C117D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -281,6 +438,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 17C77BCF2B52ACF300130CC5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 17C77BCE2B52ACF300130CC5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 97C146FA1CF9000F007C117D /* Main.storyboard */ = { isa = PBXVariantGroup; @@ -301,6 +466,94 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 17C77BD02B52ACF300130CC5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 259EF098471406B311512E26 /* Pods-Runner-RunnerUITests.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Runner; + }; + name = Debug; + }; + 17C77BD12B52ACF300130CC5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C8BB415384D267A6CD1C3847 /* Pods-Runner-RunnerUITests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Runner; + }; + name = Release; + }; + 17C77BD22B52ACF300130CC5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4566693C2C815E1498E5AE50 /* Pods-Runner-RunnerUITests.profile.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Runner; + }; + name = Profile; + }; 249021D3217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; buildSettings = { @@ -342,7 +595,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -353,7 +606,7 @@ }; 249021D4217E4FDB00AE95B9 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + baseConfigurationReference = 0BC5A8A082B658D25207B179 /* Pods-Runner.profile.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; @@ -423,7 +676,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -472,7 +725,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -537,6 +790,16 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 17C77BD32B52ACF300130CC5 /* Build configuration list for PBXNativeTarget "RunnerUITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 17C77BD02B52ACF300130CC5 /* Debug */, + 17C77BD12B52ACF300130CC5 /* Release */, + 17C77BD22B52ACF300130CC5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 303a575f..079ba1a2 100644 --- a/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -37,6 +37,16 @@ + + + + Date: Sat, 20 Jan 2024 23:23:42 +0600 Subject: [PATCH 3/5] error on IOS --- app/ios/Podfile | 3 +- app/ios/Podfile.lock | 2 +- app/ios/Runner.xcodeproj/project.pbxproj | 99 ++++++++++--------- .../xcshareddata/xcschemes/Runner.xcscheme | 2 +- 4 files changed, 54 insertions(+), 52 deletions(-) diff --git a/app/ios/Podfile b/app/ios/Podfile index 6cffdb7c..fa3f59ec 100644 --- a/app/ios/Podfile +++ b/app/ios/Podfile @@ -31,10 +31,11 @@ target 'Runner' do use_frameworks! use_modular_headers! - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerUITests' do inherit! :complete end + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end post_install do |installer| diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index 12c7a49e..426835f3 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -97,6 +97,6 @@ SPEC CHECKSUMS: sqflite: 31f7eba61e3074736dff8807a9b41581e4f7f15a url_launcher_ios: bf5ce03e0e2088bad9cc378ea97fa0ed5b49673b -PODFILE CHECKSUM: 6804bb879165078e422309eee0e67003bedf8b37 +PODFILE CHECKSUM: 212b87bf301f233087fb555b60d67094a7700765 COCOAPODS: 1.13.0 diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj index f4b84c38..c06013c4 100644 --- a/app/ios/Runner.xcodeproj/project.pbxproj +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -8,18 +8,18 @@ /* Begin PBXBuildFile section */ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 17C77BCB2B52ACF300130CC5 /* RunnerUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */; }; + 176109712B5340D7005544E1 /* RunnerUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = 176109702B5340D7005544E1 /* RunnerUITests.m */; }; 1C13811B0E9A8D00CE29505E /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A8F88A7DFD1AAA2431881E8 /* Pods_Runner.framework */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 42EB217D12A60546FCE275DB /* Pods_Runner_RunnerUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86BE4883960A907867D29BF9 /* Pods_Runner_RunnerUITests.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 */; }; + BF619C0AE87EA2ABB56B20E8 /* Pods_Runner_RunnerUITests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 86BE4883960A907867D29BF9 /* Pods_Runner_RunnerUITests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 17C77BCE2B52ACF300130CC5 /* PBXContainerItemProxy */ = { + 176109742B5340D7005544E1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 97C146E61CF9000F007C117D /* Project object */; proxyType = 1; @@ -45,8 +45,8 @@ 0BC5A8A082B658D25207B179 /* 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 = ""; }; - 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerUITests.m; sourceTree = ""; }; + 1761096E2B5340D7005544E1 /* RunnerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 176109702B5340D7005544E1 /* RunnerUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RunnerUITests.m; sourceTree = ""; }; 259EF098471406B311512E26 /* Pods-Runner-RunnerUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner-RunnerUITests.debug.xcconfig"; path = "Target Support Files/Pods-Runner-RunnerUITests/Pods-Runner-RunnerUITests.debug.xcconfig"; sourceTree = ""; }; 3A8F88A7DFD1AAA2431881E8 /* 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 = ""; }; @@ -68,11 +68,11 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 17C77BC52B52ACF300130CC5 /* Frameworks */ = { + 1761096B2B5340D7005544E1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 42EB217D12A60546FCE275DB /* Pods_Runner_RunnerUITests.framework in Frameworks */, + BF619C0AE87EA2ABB56B20E8 /* Pods_Runner_RunnerUITests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -87,10 +87,10 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 17C77BC92B52ACF300130CC5 /* RunnerUITests */ = { + 1761096F2B5340D7005544E1 /* RunnerUITests */ = { isa = PBXGroup; children = ( - 17C77BCA2B52ACF300130CC5 /* RunnerUITests.m */, + 176109702B5340D7005544E1 /* RunnerUITests.m */, ); path = RunnerUITests; sourceTree = ""; @@ -124,7 +124,7 @@ children = ( 9740EEB11CF90186004384FC /* Flutter */, 97C146F01CF9000F007C117D /* Runner */, - 17C77BC92B52ACF300130CC5 /* RunnerUITests */, + 1761096F2B5340D7005544E1 /* RunnerUITests */, 97C146EF1CF9000F007C117D /* Products */, 8803ACB4FC02EC5B3A6C7031 /* Pods */, CA27276DAF1B4188A69554F8 /* Frameworks */, @@ -135,7 +135,7 @@ isa = PBXGroup; children = ( 97C146EE1CF9000F007C117D /* Runner.app */, - 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */, + 1761096E2B5340D7005544E1 /* RunnerUITests.xctest */, ); name = Products; sourceTree = ""; @@ -167,26 +167,26 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 17C77BC72B52ACF300130CC5 /* RunnerUITests */ = { + 1761096D2B5340D7005544E1 /* RunnerUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 17C77BD32B52ACF300130CC5 /* Build configuration list for PBXNativeTarget "RunnerUITests" */; + buildConfigurationList = 176109762B5340D7005544E1 /* Build configuration list for PBXNativeTarget "RunnerUITests" */; buildPhases = ( - A42B86F12403E2B1B433D479 /* [CP] Check Pods Manifest.lock */, - 17C77BD42B52AF5C00130CC5 /* xcode_backend build */, - 17C77BC42B52ACF300130CC5 /* Sources */, - 17C77BC52B52ACF300130CC5 /* Frameworks */, - 17C77BC62B52ACF300130CC5 /* Resources */, - D51FB382D7DC1A380CDC6C76 /* [CP] Embed Pods Frameworks */, - 17C77BD52B52AF6C00130CC5 /* xcode_backend embed_and_thin */, + B503FC1A9BD12A37B0F1F0AB /* [CP] Check Pods Manifest.lock */, + 1761097A2B534265005544E1 /* xcode_backend build */, + 1761096A2B5340D7005544E1 /* Sources */, + 1761096B2B5340D7005544E1 /* Frameworks */, + 1761096C2B5340D7005544E1 /* Resources */, + C30A239C6112BD6281ADFD69 /* [CP] Embed Pods Frameworks */, + 1761097B2B534274005544E1 /* xcode_backend embed_and_thin */, ); buildRules = ( ); dependencies = ( - 17C77BCF2B52ACF300130CC5 /* PBXTargetDependency */, + 176109752B5340D7005544E1 /* PBXTargetDependency */, ); name = RunnerUITests; productName = RunnerUITests; - productReference = 17C77BC82B52ACF300130CC5 /* RunnerUITests.xctest */; + productReference = 1761096E2B5340D7005544E1 /* RunnerUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; 97C146ED1CF9000F007C117D /* Runner */ = { @@ -220,7 +220,7 @@ LastUpgradeCheck = 1430; ORGANIZATIONNAME = ""; TargetAttributes = { - 17C77BC72B52ACF300130CC5 = { + 1761096D2B5340D7005544E1 = { CreatedOnToolsVersion = 15.0.1; TestTargetID = 97C146ED1CF9000F007C117D; }; @@ -244,13 +244,13 @@ projectRoot = ""; targets = ( 97C146ED1CF9000F007C117D /* Runner */, - 17C77BC72B52ACF300130CC5 /* RunnerUITests */, + 1761096D2B5340D7005544E1 /* RunnerUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 17C77BC62B52ACF300130CC5 /* Resources */ = { + 1761096C2B5340D7005544E1 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -271,7 +271,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 17C77BD42B52AF5C00130CC5 /* xcode_backend build */ = { + 1761097A2B534265005544E1 /* xcode_backend build */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -289,7 +289,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build\n"; }; - 17C77BD52B52AF6C00130CC5 /* xcode_backend embed_and_thin */ = { + 1761097B2B534274005544E1 /* xcode_backend embed_and_thin */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -355,7 +355,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - A42B86F12403E2B1B433D479 /* [CP] Check Pods Manifest.lock */ = { + B503FC1A9BD12A37B0F1F0AB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,7 +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; }; - D51FB382D7DC1A380CDC6C76 /* [CP] Embed Pods Frameworks */ = { + C30A239C6112BD6281ADFD69 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -419,11 +419,11 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 17C77BC42B52ACF300130CC5 /* Sources */ = { + 1761096A2B5340D7005544E1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 17C77BCB2B52ACF300130CC5 /* RunnerUITests.m in Sources */, + 176109712B5340D7005544E1 /* RunnerUITests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -439,10 +439,10 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 17C77BCF2B52ACF300130CC5 /* PBXTargetDependency */ = { + 176109752B5340D7005544E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 17C77BCE2B52ACF300130CC5 /* PBXContainerItemProxy */; + targetProxy = 176109742B5340D7005544E1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -466,7 +466,7 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 17C77BD02B52ACF300130CC5 /* Debug */ = { + 176109772B5340D7005544E1 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 259EF098471406B311512E26 /* Pods-Runner-RunnerUITests.debug.xcconfig */; buildSettings = { @@ -483,12 +483,12 @@ ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -496,7 +496,7 @@ }; name = Debug; }; - 17C77BD12B52ACF300130CC5 /* Release */ = { + 176109782B5340D7005544E1 /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = C8BB415384D267A6CD1C3847 /* Pods-Runner-RunnerUITests.release.xcconfig */; buildSettings = { @@ -513,11 +513,11 @@ ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -525,7 +525,7 @@ }; name = Release; }; - 17C77BD22B52ACF300130CC5 /* Profile */ = { + 176109792B5340D7005544E1 /* Profile */ = { isa = XCBuildConfiguration; baseConfigurationReference = 4566693C2C815E1498E5AE50 /* Pods-Runner-RunnerUITests.profile.xcconfig */; buildSettings = { @@ -542,11 +542,11 @@ ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -595,7 +595,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -613,6 +613,7 @@ CURRENT_PROJECT_VERSION = 1.2.3; DEVELOPMENT_TEAM = L8HXY9BDGG; ENABLE_BITCODE = NO; + "FLUTTER_TARGET[arch=*]" = ""; INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = "My Quran"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -676,7 +677,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -725,7 +726,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -790,12 +791,12 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 17C77BD32B52ACF300130CC5 /* Build configuration list for PBXNativeTarget "RunnerUITests" */ = { + 176109762B5340D7005544E1 /* Build configuration list for PBXNativeTarget "RunnerUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 17C77BD02B52ACF300130CC5 /* Debug */, - 17C77BD12B52ACF300130CC5 /* Release */, - 17C77BD22B52ACF300130CC5 /* Profile */, + 176109772B5340D7005544E1 /* Debug */, + 176109782B5340D7005544E1 /* Release */, + 176109792B5340D7005544E1 /* Profile */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 079ba1a2..7c9c3d81 100644 --- a/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -41,7 +41,7 @@ skipped = "NO"> From 1c67976f9637b8f76516e3ce3ec3d58b9ed86ae4 Mon Sep 17 00:00:00 2001 From: Eldar2021 Date: Mon, 22 Jan 2024 16:07:06 +0600 Subject: [PATCH 4/5] IOS dev to 12.0 --- app/ios/Flutter/AppFrameworkInfo.plist | 2 +- app/ios/Runner.xcodeproj/project.pbxproj | 21 ++++++++++++--------- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/ios/Flutter/AppFrameworkInfo.plist b/app/ios/Flutter/AppFrameworkInfo.plist index 9625e105..7c569640 100644 --- a/app/ios/Flutter/AppFrameworkInfo.plist +++ b/app/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 11.0 + 12.0 diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj index c06013c4..295ab831 100644 --- a/app/ios/Runner.xcodeproj/project.pbxproj +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -480,15 +480,16 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -510,14 +511,15 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -539,14 +541,15 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MARKETING_VERSION = 1.0; MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.example.RunnerUITests; + PRODUCT_BUNDLE_IDENTIFIER = com.alee.hatimapp.RunnerUITests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = NO; TARGETED_DEVICE_FAMILY = "1,2"; @@ -595,7 +598,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -677,7 +680,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -726,7 +729,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 13.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; From c6bab4752140e16e077aa930e6ef409e66c4bff3 Mon Sep 17 00:00:00 2001 From: Eldar2021 Date: Mon, 22 Jan 2024 19:41:18 +0600 Subject: [PATCH 5/5] Success --- app/integration_test/example_test.dart | 2 ++ app/ios/Runner.xcodeproj/project.pbxproj | 3 +++ 2 files changed, 5 insertions(+) diff --git a/app/integration_test/example_test.dart b/app/integration_test/example_test.dart index 689f856f..dffe29bb 100644 --- a/app/integration_test/example_test.dart +++ b/app/integration_test/example_test.dart @@ -4,6 +4,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:patrol/patrol.dart'; +// patrol test -t integration_test/example_test.dart + void main() { patrolTest( 'counter state is the same after going to home and switching apps', diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj index 295ab831..b88f7451 100644 --- a/app/ios/Runner.xcodeproj/project.pbxproj +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -482,6 +482,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; + FLUTTER_BUILD_DIR = build; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -513,6 +514,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; + FLUTTER_BUILD_DIR = build; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; @@ -543,6 +545,7 @@ CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_TEAM = FXUHM3F9AD; ENABLE_USER_SCRIPT_SANDBOXING = NO; + FLUTTER_BUILD_DIR = build; GCC_C_LANGUAGE_STANDARD = gnu17; GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0;