From 209080842a8de457157269396cfafd3576debc83 Mon Sep 17 00:00:00 2001 From: Zain Date: Wed, 3 Dec 2025 17:36:25 +0300 Subject: [PATCH] bug : fixed --- assets/images/error.png | Bin 0 -> 8361 bytes assets/images/error_simple.svg | 10 ++ assets/images/tick.png | Bin 0 -> 7944 bytes ios/Flutter/Debug.xcconfig | 1 + ios/Flutter/Release.xcconfig | 1 + ios/Podfile | 43 +++++++ ios/Podfile.lock | 22 ++++ ios/Runner.xcodeproj/project.pbxproj | 112 ++++++++++++++++++ .../xcshareddata/xcschemes/Runner.xcscheme | 2 + .../contents.xcworkspacedata | 3 + lib/screens/attendence_screen.dart | 4 +- lib/widgets/login_animation_screen.dart | 33 +++--- macos/Flutter/Flutter-Debug.xcconfig | 1 + macos/Flutter/Flutter-Release.xcconfig | 1 + macos/Podfile | 42 +++++++ pubspec.lock | 16 +-- pubspec.yaml | 5 - 17 files changed, 263 insertions(+), 33 deletions(-) create mode 100644 assets/images/error.png create mode 100644 assets/images/error_simple.svg create mode 100644 assets/images/tick.png create mode 100644 ios/Podfile create mode 100644 ios/Podfile.lock create mode 100644 macos/Podfile diff --git a/assets/images/error.png b/assets/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..4e7994fb21086df13aaf30e4a28d1eb7097c0a2c GIT binary patch literal 8361 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 P?-chm^wcX+HsSvVVuAv1 literal 0 HcmV?d00001 diff --git a/assets/images/error_simple.svg b/assets/images/error_simple.svg new file mode 100644 index 0000000..684d537 --- /dev/null +++ b/assets/images/error_simple.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/assets/images/tick.png b/assets/images/tick.png new file mode 100644 index 0000000000000000000000000000000000000000..025bec9a7e046f57a715288b9672426cda7d0ccd GIT binary patch literal 7944 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 literal 0 HcmV?d00001 diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee..ec97fc6 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee..c4855bf 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..e549ee2 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,43 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 0000000..f948eaf --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,22 @@ +PODS: + - Flutter (1.0.0) + - flutter_native_splash (2.4.3): + - Flutter + +DEPENDENCIES: + - Flutter (from `Flutter`) + - flutter_native_splash (from `.symlinks/plugins/flutter_native_splash/ios`) + +EXTERNAL SOURCES: + Flutter: + :path: Flutter + flutter_native_splash: + :path: ".symlinks/plugins/flutter_native_splash/ios" + +SPEC CHECKSUMS: + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_native_splash: df59bb2e1421aa0282cb2e95618af4dcb0c56c29 + +PODFILE CHECKSUM: 4305caec6b40dde0ae97be1573c53de1882a07e5 + +COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index b8862a1..00fc2b1 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 02BC57D43F0E0E49646F2FAE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D5681B269A63BFD265F8219B /* Pods_RunnerTests.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; @@ -14,6 +15,7 @@ 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 */; }; + D41982A99DE0396E0ACD1F72 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBDA626459392AC5297FAA8C /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -40,6 +42,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0CD6C7BAAE42970E67EF470F /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; @@ -55,13 +58,29 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A69E7BC5E8BB738C0D135E63 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + C8EAEACEAC43BB801D9EFF4B /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + C9C24CB30CC2EF64A5028A78 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + D5681B269A63BFD265F8219B /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D56F44FC5BE8FF63379AC3DC /* 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 = ""; }; + DBDA626459392AC5297FAA8C /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + EB3743F66801D903D4119598 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 44CE3D7DF23F5595579835AE /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 02BC57D43F0E0E49646F2FAE /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + D41982A99DE0396E0ACD1F72 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -94,6 +113,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, + FE0CF62F5760B3F665A07E55 /* Pods */, + DC8C7757B86E2BE210C623BF /* Frameworks */, ); sourceTree = ""; }; @@ -121,6 +142,29 @@ path = Runner; sourceTree = ""; }; + DC8C7757B86E2BE210C623BF /* Frameworks */ = { + isa = PBXGroup; + children = ( + DBDA626459392AC5297FAA8C /* Pods_Runner.framework */, + D5681B269A63BFD265F8219B /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + FE0CF62F5760B3F665A07E55 /* Pods */ = { + isa = PBXGroup; + children = ( + EB3743F66801D903D4119598 /* Pods-Runner.debug.xcconfig */, + 0CD6C7BAAE42970E67EF470F /* Pods-Runner.release.xcconfig */, + D56F44FC5BE8FF63379AC3DC /* Pods-Runner.profile.xcconfig */, + A69E7BC5E8BB738C0D135E63 /* Pods-RunnerTests.debug.xcconfig */, + C9C24CB30CC2EF64A5028A78 /* Pods-RunnerTests.release.xcconfig */, + C8EAEACEAC43BB801D9EFF4B /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -128,8 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + 5503332AF463EAA3120AB846 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, + 44CE3D7DF23F5595579835AE /* Frameworks */, ); buildRules = ( ); @@ -145,12 +191,14 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + EC55524D3F962BF3C9F66FEE /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 4D4FA041F50DD7060861DFEF /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); @@ -238,6 +286,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 4D4FA041F50DD7060861DFEF /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 5503332AF463EAA3120AB846 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -253,6 +340,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + EC55524D3F962BF3C9F66FEE /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -378,6 +487,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = A69E7BC5E8BB738C0D135E63 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -395,6 +505,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C9C24CB30CC2EF64A5028A78 /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -410,6 +521,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C8EAEACEAC43BB801D9EFF4B /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 15cada4..e3773d4 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit" shouldUseLaunchSchemeArgsEnv = "YES"> + + diff --git a/lib/screens/attendence_screen.dart b/lib/screens/attendence_screen.dart index 3703015..ddea7b8 100644 --- a/lib/screens/attendence_screen.dart +++ b/lib/screens/attendence_screen.dart @@ -102,7 +102,7 @@ class AttendanceScreen extends StatelessWidget { icon: "assets/images/login.svg", label: "تسجيل الدخول", onTap: () { - // Navigate to LoginAnimationScreen with success state + // Navigate to LoginAnimationScreen with error state Navigator.of(context).push( MaterialPageRoute( builder: @@ -148,7 +148,7 @@ class AttendanceScreen extends StatelessWidget { icon: "assets/images/logout.svg", label: "تسجيل خروج", onTap: () { - // Navigate to LoginAnimationScreen with success state + // Navigate to LoginAnimationScreen with error state Navigator.of(context).push( MaterialPageRoute( builder: diff --git a/lib/widgets/login_animation_screen.dart b/lib/widgets/login_animation_screen.dart index 928590d..201a697 100644 --- a/lib/widgets/login_animation_screen.dart +++ b/lib/widgets/login_animation_screen.dart @@ -104,29 +104,26 @@ class _LoginAnimationScreenState extends State ); } else if (widget.isSuccess) { // Success state - tick mark - return SvgPicture.asset( - "assets/images/tick.svg", + return Image.asset( + "assets/images/tick.png", key: const ValueKey('success'), - width: 70, - height: 70, - placeholderBuilder: (context) => Icon( - Icons.check_circle, - size: 70, - color: const Color(0xFF32C59A), - ), + width: 120, + height: 120, + fit: BoxFit.contain, + // placeholderBuilder: (context) => Icon( + // Icons.check_circle, + // size: 70, + // color: const Color(0xFF32C59A), + // ), ); } else { // Error state - error icon - return SvgPicture.asset( - "assets/images/error.svg", + return Image.asset( + "assets/images/error.png", key: const ValueKey('error'), - width: 70, - height: 70, - placeholderBuilder: (context) => Icon( - Icons.error, - size: 70, - color: Colors.red, - ), + width: 120, + height: 120, + fit: BoxFit.contain, ); } } diff --git a/macos/Flutter/Flutter-Debug.xcconfig b/macos/Flutter/Flutter-Debug.xcconfig index c2efd0b..4b81f9b 100644 --- a/macos/Flutter/Flutter-Debug.xcconfig +++ b/macos/Flutter/Flutter-Debug.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Flutter/Flutter-Release.xcconfig b/macos/Flutter/Flutter-Release.xcconfig index c2efd0b..5caa9d1 100644 --- a/macos/Flutter/Flutter-Release.xcconfig +++ b/macos/Flutter/Flutter-Release.xcconfig @@ -1 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/macos/Podfile b/macos/Podfile new file mode 100644 index 0000000..29c8eb3 --- /dev/null +++ b/macos/Podfile @@ -0,0 +1,42 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/pubspec.lock b/pubspec.lock index ed985c9..e42a4d5 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.13.0" boolean_selector: dependency: transitive description: @@ -85,10 +85,10 @@ packages: dependency: transitive description: name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.3.3" ffi: dependency: transitive description: @@ -172,10 +172,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0" url: "https://pub.dev" source: hosted - version: "10.0.8" + version: "10.0.9" leak_tracker_flutter_testing: dependency: transitive description: @@ -361,10 +361,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 url: "https://pub.dev" source: hosted - version: "14.3.1" + version: "15.0.0" web: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 211081e..5fbfeb3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -22,11 +22,6 @@ flutter: uses-material-design: true assets: - assets/images/ - - assets/images/finger_print.svg - - assets/images/login.svg - - assets/images/logout.svg - - assets/images/tick.svg - - assets/images/error.svg fonts: - family: AbdElRady