From ba69cf10ebdb7fb327953d98b95f9948a0eef39d Mon Sep 17 00:00:00 2001 From: Geoffrey Bonneville Date: Fri, 13 Dec 2024 12:00:26 +0100 Subject: [PATCH] Initial iOS support (#159) * Initial iOS support * Update flutter_slidable to 3.1.2 * Fix apk path & ios artifact name --- .github/workflows/build-apps.yml | 32 +- app/.metadata | 2 +- app/ios/.gitignore | 34 + app/ios/Flutter/AppFrameworkInfo.plist | 26 + app/ios/Flutter/Debug.xcconfig | 2 + app/ios/Flutter/Release.xcconfig | 2 + app/ios/Podfile | 44 ++ app/ios/Podfile.lock | 119 +++ app/ios/Runner.xcodeproj/project.pbxproj | 746 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 +++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + app/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 +++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 54010 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 555 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 1078 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 1755 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 793 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 1713 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 2345 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 1078 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 2226 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 3393 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 3393 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 5201 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 2130 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 4310 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 4846 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + app/ios/Runner/Base.lproj/Main.storyboard | 26 + app/ios/Runner/Info.plist | 49 ++ app/ios/Runner/Runner-Bridging-Header.h | 1 + app/ios/RunnerTests/RunnerTests.swift | 12 + app/pubspec.lock | 8 +- app/pubspec.yaml | 3 +- 45 files changed, 1445 insertions(+), 8 deletions(-) create mode 100644 app/ios/.gitignore create mode 100644 app/ios/Flutter/AppFrameworkInfo.plist create mode 100644 app/ios/Flutter/Debug.xcconfig create mode 100644 app/ios/Flutter/Release.xcconfig create mode 100644 app/ios/Podfile create mode 100644 app/ios/Podfile.lock create mode 100644 app/ios/Runner.xcodeproj/project.pbxproj create mode 100644 app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 app/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 app/ios/Runner/AppDelegate.swift create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 app/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 app/ios/Runner/Base.lproj/Main.storyboard create mode 100644 app/ios/Runner/Info.plist create mode 100644 app/ios/Runner/Runner-Bridging-Header.h create mode 100644 app/ios/RunnerTests/RunnerTests.swift diff --git a/.github/workflows/build-apps.yml b/.github/workflows/build-apps.yml index 7ef9dd9..7052ed0 100644 --- a/.github/workflows/build-apps.yml +++ b/.github/workflows/build-apps.yml @@ -106,4 +106,34 @@ jobs: - uses: actions/upload-artifact@v4 with: name: pikatorrent-android - path: app/build/app/outputs/apk/release/app-release.apk \ No newline at end of file + path: app/build/app/outputs/flutter-apk/ios.apk + + ios: + runs-on: macos-14 + env: + # Do not target simulator + TARGET_IOS_DEVICE: true + defaults: + run: + working-directory: ./app + steps: + - name: Clone repository + uses: actions/checkout@v4 + with: + submodules: true + - name: Install dependencies + run: | + brew install ninja + - name: Set up vcpkg + uses: lukka/run-vcpkg@v11 + with: + vcpkgDirectory: ${{ github.workspace }}/app/vcpkg + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + - run: flutter build ios --no-codesign + - uses: actions/upload-artifact@v4 + with: + name: pikatorrent-ios + path: app/build/ios/iphoneos/*.app \ No newline at end of file diff --git a/app/.metadata b/app/.metadata index d33aab9..dc2626b 100644 --- a/app/.metadata +++ b/app/.metadata @@ -15,7 +15,7 @@ migration: - platform: root create_revision: dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 base_revision: dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 - - platform: macos + - platform: ios create_revision: dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 base_revision: dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 diff --git a/app/ios/.gitignore b/app/ios/.gitignore new file mode 100644 index 0000000..7a7f987 --- /dev/null +++ b/app/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.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/ephemeral/ +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 diff --git a/app/ios/Flutter/AppFrameworkInfo.plist b/app/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 0000000..7c56964 --- /dev/null +++ b/app/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/app/ios/Flutter/Debug.xcconfig b/app/ios/Flutter/Debug.xcconfig new file mode 100644 index 0000000..ec97fc6 --- /dev/null +++ b/app/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/app/ios/Flutter/Release.xcconfig b/app/ios/Flutter/Release.xcconfig new file mode 100644 index 0000000..c4855bf --- /dev/null +++ b/app/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/app/ios/Podfile b/app/ios/Podfile new file mode 100644 index 0000000..d97f17e --- /dev/null +++ b/app/ios/Podfile @@ -0,0 +1,44 @@ +# 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! + use_modular_headers! + + 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/app/ios/Podfile.lock b/app/ios/Podfile.lock new file mode 100644 index 0000000..59b8184 --- /dev/null +++ b/app/ios/Podfile.lock @@ -0,0 +1,119 @@ +PODS: + - app_links (0.0.2): + - Flutter + - device_info_plus (0.0.1): + - Flutter + - DKImagePickerController/Core (4.3.9): + - DKImagePickerController/ImageDataManager + - DKImagePickerController/Resource + - DKImagePickerController/ImageDataManager (4.3.9) + - DKImagePickerController/PhotoGallery (4.3.9): + - DKImagePickerController/Core + - DKPhotoGallery + - DKImagePickerController/Resource (4.3.9) + - DKPhotoGallery (0.0.19): + - DKPhotoGallery/Core (= 0.0.19) + - DKPhotoGallery/Model (= 0.0.19) + - DKPhotoGallery/Preview (= 0.0.19) + - DKPhotoGallery/Resource (= 0.0.19) + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Core (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Preview + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Model (0.0.19): + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Preview (0.0.19): + - DKPhotoGallery/Model + - DKPhotoGallery/Resource + - SDWebImage + - SwiftyGif + - DKPhotoGallery/Resource (0.0.19): + - SDWebImage + - SwiftyGif + - file_picker (0.0.1): + - DKImagePickerController/PhotoGallery + - Flutter + - Flutter (1.0.0) + - flutter_libtransmission (0.0.1): + - Flutter + - flutter_local_notifications (0.0.1): + - Flutter + - open_file_ios (0.0.1): + - Flutter + - path_provider_foundation (0.0.1): + - Flutter + - FlutterMacOS + - permission_handler_apple (9.3.0): + - Flutter + - SDWebImage (5.20.0): + - SDWebImage/Core (= 5.20.0) + - SDWebImage/Core (5.20.0) + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - SwiftyGif (5.4.5) + +DEPENDENCIES: + - app_links (from `.symlinks/plugins/app_links/ios`) + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - file_picker (from `.symlinks/plugins/file_picker/ios`) + - Flutter (from `Flutter`) + - flutter_libtransmission (from `.symlinks/plugins/flutter_libtransmission/ios`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) + - open_file_ios (from `.symlinks/plugins/open_file_ios/ios`) + - path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + +SPEC REPOS: + trunk: + - DKImagePickerController + - DKPhotoGallery + - SDWebImage + - SwiftyGif + +EXTERNAL SOURCES: + app_links: + :path: ".symlinks/plugins/app_links/ios" + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" + file_picker: + :path: ".symlinks/plugins/file_picker/ios" + Flutter: + :path: Flutter + flutter_libtransmission: + :path: ".symlinks/plugins/flutter_libtransmission/ios" + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" + open_file_ios: + :path: ".symlinks/plugins/open_file_ios/ios" + path_provider_foundation: + :path: ".symlinks/plugins/path_provider_foundation/darwin" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + +SPEC CHECKSUMS: + app_links: e7a6750a915a9e161c58d91bc610e8cd1d4d0ad0 + device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 + DKImagePickerController: 946cec48c7873164274ecc4624d19e3da4c1ef3c + DKPhotoGallery: b3834fecb755ee09a593d7c9e389d8b5d6deed60 + file_picker: 09aa5ec1ab24135ccd7a1621c46c84134bfd6655 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + flutter_libtransmission: 44479caadf0962b55752b6dc3f5c8b4cb65a70f7 + flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9 + open_file_ios: 461db5853723763573e140de3193656f91990d9e + path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + SwiftyGif: 706c60cf65fa2bc5ee0313beece843c8eb8194d4 + +PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 + +COCOAPODS: 1.16.2 diff --git a/app/ios/Runner.xcodeproj/project.pbxproj b/app/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 0000000..05b89fa --- /dev/null +++ b/app/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,746 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 476934C0AB00055EB0D9CEB3 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 978839F30625E74DC534FFFE /* Pods_RunnerTests.framework */; }; + 60B9C60DAF9094B47E7AC002 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABB4C9E561B628063A300580 /* Pods_Runner.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 */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy 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 */ + 13FCA4D646838D3F6796ABE9 /* 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 = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 4F2F29EBF055C55B1025DDC7 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 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 = ""; }; + 978839F30625E74DC534FFFE /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; + 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 = ""; }; + 9E7F647666422E4AB9689AE2 /* 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 = ""; }; + A74071D226C3962E47E330B4 /* 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 = ""; }; + A842F5F365350A18CCDECBEC /* 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 = ""; }; + ABB4C9E561B628063A300580 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + F8C3C98CAD8CCA67CC6CAB62 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 17FC7E9C91B4A57DB2C333DD /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 476934C0AB00055EB0D9CEB3 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 60B9C60DAF9094B47E7AC002 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2D08F86AB52C9438E44CBB5D /* Frameworks */ = { + isa = PBXGroup; + children = ( + ABB4C9E561B628063A300580 /* Pods_Runner.framework */, + 978839F30625E74DC534FFFE /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 64D1C3E9170D55DF5E4F9666 /* Pods */ = { + isa = PBXGroup; + children = ( + 9E7F647666422E4AB9689AE2 /* Pods-Runner.debug.xcconfig */, + A74071D226C3962E47E330B4 /* Pods-Runner.release.xcconfig */, + 13FCA4D646838D3F6796ABE9 /* Pods-Runner.profile.xcconfig */, + A842F5F365350A18CCDECBEC /* Pods-RunnerTests.debug.xcconfig */, + 4F2F29EBF055C55B1025DDC7 /* Pods-RunnerTests.release.xcconfig */, + F8C3C98CAD8CCA67CC6CAB62 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + 64D1C3E9170D55DF5E4F9666 /* Pods */, + 2D08F86AB52C9438E44CBB5D /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 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 = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 7F595F5CE05BAB7B06777A5F /* [CP] Check Pods Manifest.lock */, + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + 17FC7E9C91B4A57DB2C333DD /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 58852A63292103153D56B332 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + BA2C3E5F949CC93897A3BEA0 /* [CP] Embed Pods Frameworks */, + 4937FB7F32D008506FBC024F /* [CP] Copy Pods Resources */, + ); + 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 = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 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 */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 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; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 4937FB7F32D008506FBC024F /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + 58852A63292103153D56B332 /* [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; + }; + 7F595F5CE05BAB7B06777A5F /* [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; + 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"; + }; + BA2C3E5F949CC93897A3BEA0 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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_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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A842F5F365350A18CCDECBEC /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 4F2F29EBF055C55B1025DDC7 /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = F8C3C98CAD8CCA67CC6CAB62 /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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_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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + 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_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; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + 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; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app; + 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; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.gray.app; + 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 */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 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 */; +} diff --git a/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 0000000..8e3ca5d --- /dev/null +++ b/app/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/ios/Runner.xcworkspace/contents.xcworkspacedata b/app/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..21a3cc1 --- /dev/null +++ b/app/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/app/ios/Runner/AppDelegate.swift b/app/ios/Runner/AppDelegate.swift new file mode 100644 index 0000000..6266644 --- /dev/null +++ b/app/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@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) + } +} diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d36b1fa --- /dev/null +++ b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..f14eedf8841217df95fbae31e89a58025506ced0 GIT binary patch literal 54010 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%0DkO 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 literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..7777142099b098537d1a06a6d81d7d8935ae53cb GIT binary patch literal 555 zcmV+`0@VG9P)VV?hQo{x84raEhDfufdSoQMd; zmBvXWbdE@tnmgP(m8@Kix4qibsVnU!37=u6HWE5b%uRqfO1vvA9bP6hFq@@FT#sak z_47mrzo|rhXf~V_pCl(VPyn=bbB0+<9yAH?YRF2s6V)oKShB2=Vf#g3_kN?0TFHBS z`PkXqw?hC57%~-2IJauev2up%WZDig)U*qGX7p}HXFp{n3ZMQBm{Y`<*=I=Neip(%OfR9{TCm_< z)x)7=9K&@OT86GdYySh(VGd4|PG}ICtOu)?;VA^nLs_UN46GjT8Uh|csZz{+qR!J#}?I$0BBKSp1p_I}Z zDAG_9ZJV|#K0lNqDx|axe(-~j>_{63ZH0h|N_Ka4XLs)D|Hch&mYD3^$*#HK54p?S zdwz2scg~EU0*+{;>_y@8Ehpx+Oup5Aq76pK`pu0=;pXDWuH~y#l6c-&?hvgargbEE z5wS?YfWagxFdva*&7T#b`)+J%13tPk-)bI@y>ib zC`on)Lx~n0IIR#z&A@Tg=Z<^;Q9467cGg#i;@67^SkWnn-=sH!1xyr_WDi18f^zJolR)Gmr60XV}8oR$Xx_&pZ3Ob!SHdqC4TgY7p?G@w%{6SkP8H-aIZmfc_G;~@WO>W_|su+M5!1j7B zpxG~J=iX%OmdUo`j0+{gPP262^Z-rcA{M^(1dwUZLEGv+@1&D91#>_iV6KYdQgH#9 znpudXU@ke*Zbv_9cU1DLT+1FRwCZM5?r9I#IXLncJ?E3*V5jCl4UmkAMO54IC@Te0{{R307*qoM6N<$g0=qoq5uE@ literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5610e0a74a2fdcb80e1e76bc9bdbcf4d19aa83 GIT binary patch literal 1755 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 Hu0mjfVI@md literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b23358b0e146af011823740ad234a40f12df8888 GIT binary patch literal 2345 zcmV+^3D)+BP)DszBPiH zsPT#K1Yc1THSt9vArTSVOBEEt!zyB--TT_RDhHDXnU??{g^>q4bSmV8hTqZDl3YIO;EHxSG+Ae!g@LEd zaH$n6&|eyLgESK~V+^XGqux0Q;aKtH1mj5h$NNRWbNXmu@XAUhq<(Ff;<$LU-J)h1 z#UNmAkVCafhub>pD^GT&Apz~jwbrh!MDKL<_d zh70Az#B6J7a!t_k{9Yei0v|Q@bXfmD*hBIli(`1=f6>tw_20o-`xa7&#ni52nYO0e>~g$^^z<4lBb^Zpxn zB_>-_lG{cX+=Pk8)QCj`x6gL|1YN@Us=>X`e(Oh2sanCfHQ{RkMxMKh}6E576*3w2e#E;hr ztX$3ANMr4KD;)(~lz9tm+h;~E+)iq+T?>wzkOwp&lsd%q7|^znY1B#mp}D&#Zg*Qf;n=u+GqN=ZQ9|IIo=KkOc2SeP z$J!ST+)~f&UV|Cgt9qi9xDru_m$mi=hg;?l&)JiV8B{dy^g}F9b35rESPR`@!8L?< z*lI~G)DLNYi{!!GLI>L!Yftd0FArq;IK=fB(Egx9?39Hl!yrzZ(m+O^A^iSaowZi( z46Ot=kkh6Q?nQw6!EkT|>P)2?XTc#i^Og6U^B#OMo7wRv-GJ+M4tH%B=jC+^h{3gE z*59>jZXeiPRx<{&vUq3QuQ9!evD51)Hj_c}0XQ=eI52VRc9#|`$>VuF5m-mSo8Ea?Fa0@}bLvAeT zwXu8e=`20-vO~_$F*e%)wgm^K-|~_)xV^ty6Ddu2P;16JB$YQ-JG5w7hPrlFg?2X1 zejyKQp(c57JFH2l4H^^<++R9fnztxJYu69i1(b7q1%F&C8?02gcBgrSa1DeQ1%unY zPtg63X6c1D9de6N5LLi+;T&5Bn0Cug(lpop)jU${@5|7Jj^S0cOh4bk=gZ~mYk!UM;BIc5>}F%X z`+?iFThOBA8CtbEmsfZniFZm)#UXXaS_U@dDRz1g&`0$(vU_wJi)? z0YTsNaWf*xDi3Z)<1wxg+gx!x!@nxP6+- zE#z<}{+0hxRAz(N5}0&qpeR7GxE>`=AYUz-%RU449q5cV+1o$7KrQ9b0WQCCb+N}rbH4jL=2f0e2e@B>!W<7I zSX)_Z`$K3vT%!L2lS zZY03H9zwiOK@g?Eb0Y!n8xVp+js~W8@x`TK3aGLyRRh{kOFA4wdn^v6!E<5W3>9$s zT{Ihp5Q6{Jz-wU&r@AZ^aCuSji2;IZ7cCRUjZp#jLo}QRty0o5TIN87i+3*2xU$Cc zL_*2G8VCbmwK8OD?ipxI`3^>Hqh-PXFB>i|(L7LWxYp4!2O`|B(dbfK*X{WHco;(H zT82!`Enm{nK3XP>8zvKO`H~KYFSUmufX-#egv%?pJb-bZ`-sj^!fM-pg;n=<3!pHR P00000NkvXXu0mjfRmyA^ literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf11d8ffa28f1e16aaf7516b1aac8d288cec5a9 GIT binary patch literal 1078 zcmV-61j+k}P){+qR!J#}?I$0BBKSp1p_I}Z zDAG_9ZJV|#K0lNqDx|axe(-~j>_{63ZH0h|N_Ka4XLs)D|Hch&mYD3^$*#HK54p?S zdwz2scg~EU0*+{;>_y@8Ehpx+Oup5Aq76pK`pu0=;pXDWuH~y#l6c-&?hvgargbEE z5wS?YfWagxFdva*&7T#b`)+J%13tPk-)bI@y>ib zC`on)Lx~n0IIR#z&A@Tg=Z<^;Q9467cGg#i;@67^SkWnn-=sH!1xyr_WDi18f^zJolR)Gmr60XV}8oR$Xx_&pZ3Ob!SHdqC4TgY7p?G@w%{6SkP8H-aIZmfc_G;~@WO>W_|su+M5!1j7B zpxG~J=iX%OmdUo`j0+{gPP262^Z-rcA{M^(1dwUZLEGv+@1&D91#>_iV6KYdQgH#9 znpudXU@ke*Zbv_9cU1DLT+1FRwCZM5?r9I#IXLncJ?E3*V5jCl4UmkAMO54IC@Te0{{R307*qoM6N<$g0=qoq5uE@ literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3953441059bedd9503e56ec76079df1b4bdee8 GIT binary patch literal 2226 zcmV;j2u=5iP)8gz z8YLPL-N}4T&XvgbqjjgG3bgL(HH=wJ2tFwNNLo^exWDB*BfB-h$vZHgP zAPhwwj&dsg4;5ixoPtpnRfu2U6~oI(_RGDoOlrKCOauQ5fazr9=!_KY!U@5;Btx56 zs(2Pjme0R7Rvt{j`s5>xE!M5N;c@-OhcIA>zC_(rA!^!TH?xEkfJTSz11t|J2dwZ{ z9Y;81Ppoh5?@=$|J*N?X{T+2v2Ss?EfOnLRJY9rD!#-UGRSehc6^yT8{|-kNiseXi z>314it+QN|tSGB?fHFbjQWV=&=%xB_^rn{x$@#Hn>t%1H-Ivl1(CUdE;bg?l>_FrT zKbx8^k@RarJaw3^>dV!uQJY+In6Dk>h|qUApQ)?4eBFYUHngPfsVac!uKEeK4E5w@ z7uo$arPo&w-gu4n0EiDR4`9nk8I#NsBBUGyEqEu`)-4kg6z=R$P%&$D8ysI&8Jye|l zJ0q>O2zP1%$cAml8mvRa;q+%!0_;!J#WPgXq00+PDW8M&T^g^a%L=UZK+;>$-1_TQ?tWgfca}5(GKi7PYDX184K*Lo073>w)?AOe(on}0hVqn z{jJ+wZQ8vs@5E$6HDCK|f$TgiIFE5~9+o?m{mrc%U~gyLG1&Y2%0DMkus&y1Lp*)G zzc}32rXOIU_EuNw z^aD&rPmzw;>J?zgPWBR5-@T)TT)rdv0d_}EmA2U8-HGsVUN9$aDnFJnfL>08i(wv8 zuEWaXVikpYv2?t zaJL}mPI&S-BDvZyngL53F|@w5uMN_|hX(1F-*ewY>*)t8O>w-`y4_^}V12top-pZh zJFwyar{Uep24KM@=OVd?zU{H;mc@g#c^d+L_m$aryUFbj=Qh7NfNp!1x=9ZO^aD)RpYAxJ_q==I;aWYvK0^y19FV*I zC>yQBu`#Vke|zBJx`=*&98E7m?|PjFmTI&;;m|Eh2I!;DhYi=#Y!~3o>#j+7EMNlQ z836cBB>;Etk#yf9gY?9j3_1H{N9({rX}aT)*RW#x0Ve9tgcB)FLELnl9mzB6Y+Cg2 zfc$g!h{1(CWO?XTS9n`*SLAFV!yDaN;Fmibx_L=IefqWX()TLBTkYlt@*}Ty3+zos z&Jj-dEmeSj{3U7e@&Q`?lAZNCio(+sp0*el69CTzzzrjLVaJj5;EvV2hfy?4an zS_+CM%9vo&_r~d=LHz(bBXflazgcc6SJ;{QY`a4X77ft$PIZ$jfps%pKNbW$ZqqP8 zv{)LYpKrZsdWv9mUgSd*3iNnWJHWm~WFArYjk0ubTf)0rGrwGL^}sYQ^zuWu!(&-r zifIQZJLsU4h&~0w>%)-k#QHWVL!v7dOLd4QNDk0fOCQ1O_vy!BmZqK%V^6U zG{A?U+3ha0`#$eDv~H5R=#Tzs%m|&~VaV4qRWY(js@fUO7o-J_L;J zFU2fD0=xvhcu}#lyu;Fhv_~<&v1~yCd;(ftqp0cm$X9+cu2_MtY(WCt38jXeu9Z=A zEk3(c7l2CZ4GQ1{bX?`35PbVqGg2V8ajC!!3gC6<+$x0*UWPnt6!Ha@B`APAEa#7) zHDB}i+Bd2t2!Pxs56J`fLx#^c*z4xw3`Q@*AOP~#6{7a{D}kJEc=?%v0LTG9`@1`O;+-YnFPp> zyyL^mp>5(O9O7r4dO8%YM0r2Tngqy?WqM^ur}+_`lacUfsIe&~0j>a|8;4-J6YqIj zf6R(WfP4VXbG(A!E_U*IpgwAVn*!JbjfYN-dFTdy%YLQ5geibmqNA%zI?E49^b(Cw zslL9KHwBPy&o4ZliLLHfq`;#J{Ge$HARh`HjASECN8;;WRfq|Ie61_ouf{784koG^ zF#+%f(0V-YFc@Z4i3xx=f!L!+eCt0RK2crr59s#5Z=f&-rvLx|07*qoM6N<$f_O$V A&;S4c literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..720feb997e88011436354455c3e5996b424c34a5 GIT binary patch literal 3393 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 X9N5&REM!(x00000NkvXXu0mjfQNC>c literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..720feb997e88011436354455c3e5996b424c34a5 GIT binary patch literal 3393 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 X9N5&REM!(x00000NkvXXu0mjfQNC>c literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..c81009e54080ead159970c8f09e76833fe15fda8 GIT binary patch literal 5201 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 LNkvXXu0mjfi6kD9 literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..96c7d2982a4ed5c8d7326259da3d0b7a3420f0f0 GIT binary patch literal 2130 zcmV-Y2(9;tP)YO?#7T1jj*WEcqB&Sk$6P$z7fO&MMMeZ{7 zRkR(K&7DKr^188uG)>f6A3{p)+T>?j)mZvN$}A<-utdArZ;}&zpE{JL4z1N;O40Cv z_i=}2hpSPvQR4pGW^94!PTD!EhaF0~VWK8INs&6N9D>&5E7A@*_!O_$639K<+~S=h z1uIs-yzdetDMyohqDh*Z4yANEDD*#2!0?q;4#Br)+Q`@56ifhV1j%iN)PK_H=>4DF9WNE(E;lRKewqRd#jO!5evxzOSzY0T6ru& zU`$NwA>N4Qed*VTSr|1Z3oPyO`tH#vfc1@CXln)5ji(q{CmLX0~GJy<)iLdH7hY9t9;>0cwugoLDlT?Jqd)CR0Hc3IdFGGQzWES zgZ}+d08@^h=#KW*m>4A~BMt0Y09#NaFl#$PCZI)ub!Cz>u$OpmcwlySgyI0~Ism(; z24EaYcy5!oo7#sw6N98>WIZgEydL|H^Fsma+c?pBA!4s7(jZLRmj*Ty!0xUEn9Us_ z6KJx)(#ace;^D5+Zoi2>1sQD2az2%V`w!t=I7Sd$^iSkYo=V3qdxb=EWTL>j(}^3A zalNB@539T*gq}L2J3Vx4gVWHCP2zSyZO^Rt$IqVMGvbX^IE+Aqopw4a7;!iWQD9wR zJgneYg(Ts|Av%9}-f7$q=a~+K-;D#tHhAoqK2x)vruhqdXu%Wta_f)An|H(E2(Bdx ztUHsKjU!yQSLb2d%FdP!8lbzr_GtJS4@wwi(xGTtC*1Be(@wU>SEFSk3uAA0Mm`OZ@Virdb%! zUtHO1QeirTkkz$QWPzpJ+b~|=Wa?o(J(?a`l&5r?*Y=(!g#9 zu-PWS-dxp7Gw;gLx8EDt&O+>d2jJ?o<6FhM$O22di1G>1e&sQ2-3Fhg&B@WKHG@xm z+kn9n$~>E}L99m`LCgP&N0u-2u z?~z=rsvHjK52~sWv2Znfnwcx6}nlx;v zR9ZKn~~p<5NtOj#}Fj(cr5FjdJ+FVMMG-J%Bv|0#gGhaA3*- z>iSsGGVB&n>&y%1)_{BS(ubEou`9McY)=pvxI`KV#d=b(nx|qL81L*nQ$ayan)Tq~ zzYJhCDHvy9OQ77j+fZ;0zQe|Ee2Z-lJ12j+{o4`sxqZt$lr+H?@9Tw|n6WA-b-^qhO;Q^ip`cTPz+mLMm zg=a?ISL9G)yC}AR@%Z$~AVly>H=4FxkSZx@3mA`2yn|F;_$&mUiKttCKFou%1&mME z95p~eK5bLCpYer(#dT}}8@T_!827#)tkU(YX9L)gFz~%HBV&`F4+Gu?u)^+lnQ|xL z^=o02jYAz9z<74#S(3|3xK4|M;bC=<23DSq=D)4V%OkPBu^JXaHT9%{ab(XCJ{K#8 zcB?TyjI1=UzI62KQ119J3dXIDG_d6`_&8jgpZ_6l#)r}8KRt<>Yeg;$EC2ui07*qo IM6N<$f`YX7r2qf` literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..08a2c4032da4fbfca9ba95b413ac8b96026bcc98 GIT binary patch literal 4310 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 U^F{_J7XSbN07*qoM6N<$f(xln&;S4c literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 0000000..0bedcf2 --- /dev/null +++ b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 0000000..89c2725 --- /dev/null +++ b/app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/app/ios/Runner/Base.lproj/LaunchScreen.storyboard b/app/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f2e259c --- /dev/null +++ b/app/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/ios/Runner/Base.lproj/Main.storyboard b/app/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 0000000..f3c2851 --- /dev/null +++ b/app/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/ios/Runner/Info.plist b/app/ios/Runner/Info.plist new file mode 100644 index 0000000..b5fc0f0 --- /dev/null +++ b/app/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + PikaTorrent + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + app + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/app/ios/Runner/Runner-Bridging-Header.h b/app/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 0000000..308a2a5 --- /dev/null +++ b/app/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/app/ios/RunnerTests/RunnerTests.swift b/app/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 0000000..86a7c3b --- /dev/null +++ b/app/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} diff --git a/app/pubspec.lock b/app/pubspec.lock index 925374b..0d0b17a 100644 --- a/app/pubspec.lock +++ b/app/pubspec.lock @@ -234,8 +234,8 @@ packages: dependency: "direct main" description: path: "." - ref: "10fcbfc23cd8339e29dd12cc656457b9568ad86f" - resolved-ref: "10fcbfc23cd8339e29dd12cc656457b9568ad86f" + ref: a3f667f055202ee18de967d21fb4691b561493d6 + resolved-ref: a3f667f055202ee18de967d21fb4691b561493d6 url: "https://github.com/G-Ray/flutter_libtransmission" source: git version: "0.0.1" @@ -283,10 +283,10 @@ packages: dependency: "direct main" description: name: flutter_slidable - sha256: "2c5611c0b44e20d180e4342318e1bbc28b0a44ad2c442f5df16962606fd3e8e3" + sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" flutter_svg: dependency: "direct main" description: diff --git a/app/pubspec.yaml b/app/pubspec.yaml index 7a184c3..0afc274 100644 --- a/app/pubspec.yaml +++ b/app/pubspec.yaml @@ -33,13 +33,12 @@ dependencies: flutter_libtransmission: git: url: "https://github.com/G-Ray/flutter_libtransmission" - ref: 10fcbfc23cd8339e29dd12cc656457b9568ad86f + ref: a3f667f055202ee18de967d21fb4691b561493d6 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.8 go_router: ^14.2.9 -# path_provider: ^2.1.4 pretty_bytes: ^6.2.0 flutter_slidable: ^3.1.1 duration: ^4.0.3