diff --git a/.github/workflows/pullRequest.yml b/.github/workflows/pullRequest.yml new file mode 100644 index 0000000..aa2417d --- /dev/null +++ b/.github/workflows/pullRequest.yml @@ -0,0 +1,33 @@ +name: CI-Test + +on: [push] + +jobs: + test: + name: Test + runs-on: macos-latest + strategy: + matrix: + destination: ['platform=iOS Simulator,OS=13.2.2,name=iPhone 11 Pro Max'] + steps: + - name: Checkout + uses: actions/checkout@master + - name: Clean + run: | + xcodebuild clean -workspace SmilesMiles.xcodeproj/project.xcworkspace -scheme SmilesMiles + - name: Build + run: | + xcodebuild build \ + -workspace SmilesMiles.xcodeproj/project.xcworkspace \ + -scheme "SmilesMiles" \ + -destination 'platform=iOS Simulator,name=iPhone 14 Pro,OS=latest' + env: + destination: ${{ matrix.destination }} + - name: Test + run: | + xcodebuild test \ + -workspace SmilesMiles.xcodeproj/project.xcworkspace \ + -scheme "SmilesMilesTest" \ + -destination 'platform=iOS Simulator,name=iPhone 14 Pro,OS=latest' + env: + destination: ${{ matrix.destination }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6b74d9e..344abeb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,36 +8,36 @@ Info.plist SmilesMiles/Info.plist ## User settings -xcuserdata/ +# xcuserdata/ ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) *.xcscmblueprint *.xccheckout ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) -build/ -DerivedData/ -*.moved-aside -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 +# build/ +# DerivedData/ +# *.moved-aside +# *.pbxuser +# !default.pbxuser +# *.mode1v3 +# !default.mode1v3 +# *.mode2v3 +# !default.mode2v3 +# *.perspectivev3 +# !default.perspectivev3 ## Obj-C/Swift specific -*.hmap +# *.hmap ## App packaging -*.ipa -*.dSYM.zip -*.dSYM +# *.ipa +# *.dSYM.zip +# *.dSYM ## Playgrounds -timeline.xctimeline -playground.xcworkspace +# timeline.xctimeline +# playground.xcworkspace # Swift Package Manager # @@ -51,7 +51,7 @@ playground.xcworkspace # hence it is not needed unless you have added a package configuration file to your project # .swiftpm -.build/ +# .build/ # CocoaPods # @@ -82,6 +82,8 @@ Dependencies/ # For more information about the recommended setup visit: # https://docs.fastlane.tools/best-practices/source-control/#source-control +Build + fastlane/report.xml fastlane/Preview.html fastlane/screenshots/**/*.png diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..56fea8a --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.0.0 \ No newline at end of file diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..112d398 --- /dev/null +++ b/Gemfile @@ -0,0 +1,3 @@ +source 'https://rubygems.org' + +gem 'fastlane' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..419b7d6 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,218 @@ +GEM + remote: https://rubygems.org/ + specs: + CFPropertyList (3.0.6) + rexml + addressable (2.8.4) + public_suffix (>= 2.0.2, < 6.0) + artifactory (3.0.15) + atomos (0.1.3) + aws-eventstream (1.2.0) + aws-partitions (1.776.0) + aws-sdk-core (3.174.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.66.0) + aws-sdk-core (~> 3, >= 3.174.0) + aws-sigv4 (~> 1.1) + aws-sdk-s3 (1.123.1) + aws-sdk-core (~> 3, >= 3.174.0) + aws-sdk-kms (~> 1) + aws-sigv4 (~> 1.4) + aws-sigv4 (1.5.2) + aws-eventstream (~> 1, >= 1.0.2) + babosa (1.0.4) + claide (1.1.0) + colored (1.2) + colored2 (3.1.2) + commander (4.6.0) + highline (~> 2.0.0) + declarative (0.0.20) + digest-crc (0.6.4) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.8.1) + emoji_regex (3.2.3) + excon (0.100.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) + http-cookie (~> 1.0.0) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.2.7) + fastlane (2.213.0) + CFPropertyList (>= 2.3, < 4.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) + aws-sdk-s3 (~> 1.0) + babosa (>= 1.0.3, < 2.0.0) + bundler (>= 1.12.0, < 3.0.0) + colored + commander (~> 4.6) + dotenv (>= 2.1.1, < 3.0.0) + emoji_regex (>= 0.1, < 4.0) + excon (>= 0.71.0, < 1.0.0) + faraday (~> 1.0) + faraday-cookie_jar (~> 0.0.6) + faraday_middleware (~> 1.0) + fastimage (>= 2.1.0, < 3.0.0) + gh_inspector (>= 1.1.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + json (< 3.0.0) + jwt (>= 2.1.0, < 3) + mini_magick (>= 4.9.4, < 5.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (~> 0.1.1) + plist (>= 3.1.0, < 4.0.0) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.3) + simctl (~> 1.6.3) + terminal-notifier (>= 2.0.0, < 3.0.0) + terminal-table (>= 1.4.5, < 2.0.0) + tty-screen (>= 0.6.3, < 1.0.0) + tty-spinner (>= 0.8.0, < 1.0.0) + word_wrap (~> 1.0.0) + xcodeproj (>= 1.13.0, < 2.0.0) + xcpretty (~> 0.3.0) + xcpretty-travis-formatter (>= 0.0.3) + gh_inspector (1.1.3) + google-apis-androidpublisher_v3 (0.42.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.0) + addressable (~> 2.5, >= 2.5.1) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) + mini_mime (~> 1.0) + representable (~> 3.0) + retriable (>= 2.0, < 4.a) + rexml + webrick + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) + google-cloud-core (1.6.0) + google-cloud-env (~> 1.0) + google-cloud-errors (~> 1.0) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.3.1) + google-cloud-storage (1.44.0) + addressable (~> 2.8) + digest-crc (~> 0.4) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.19.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) + mini_mime (~> 1.0) + googleauth (1.5.2) + faraday (>= 0.17.3, < 3.a) + jwt (>= 1.4, < 3.0) + memoist (~> 0.16) + multi_json (~> 1.11) + os (>= 0.9, < 2.0) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.5) + domain_name (~> 0.5) + httpclient (2.8.3) + jmespath (1.6.2) + json (2.6.3) + jwt (2.7.0) + memoist (0.16.2) + mini_magick (4.12.0) + mini_mime (1.1.2) + multi_json (1.15.0) + multipart-post (2.3.0) + nanaimo (0.3.0) + naturally (2.2.1) + optparse (0.1.1) + os (1.1.4) + plist (3.7.0) + public_suffix (5.0.1) + rake (13.0.6) + representable (3.2.0) + declarative (< 0.1.0) + trailblazer-option (>= 0.1.1, < 0.2.0) + uber (< 0.2.0) + retriable (3.1.2) + rexml (3.2.5) + rouge (2.0.7) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.3) + signet (0.17.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) + jwt (>= 1.5, < 3.0) + multi_json (~> 1.10) + simctl (1.6.10) + CFPropertyList + naturally + terminal-notifier (2.0.0) + terminal-table (1.8.0) + unicode-display_width (~> 1.1, >= 1.1.1) + trailblazer-option (0.1.2) + tty-cursor (0.7.1) + tty-screen (0.8.1) + tty-spinner (0.9.3) + tty-cursor (~> 0.7) + uber (0.1.0) + unf (0.1.4) + unf_ext + unf_ext (0.0.8.2) + unicode-display_width (1.8.0) + webrick (1.8.1) + word_wrap (1.0.0) + xcodeproj (1.22.0) + CFPropertyList (>= 2.3.3, < 4.0) + atomos (~> 0.1.3) + claide (>= 1.0.2, < 2.0) + colored2 (~> 3.1) + nanaimo (~> 0.3.0) + rexml (~> 3.2.4) + xcpretty (0.3.0) + rouge (~> 2.0.7) + xcpretty-travis-formatter (1.0.1) + xcpretty (~> 0.2, >= 0.0.7) + +PLATFORMS + universal-darwin-22 + +DEPENDENCIES + fastlane + +BUNDLED WITH + 2.3.16 diff --git a/SmilesMiles.xcodeproj/project.pbxproj b/SmilesMiles.xcodeproj/project.pbxproj index 90bc220..6c89f6f 100644 --- a/SmilesMiles.xcodeproj/project.pbxproj +++ b/SmilesMiles.xcodeproj/project.pbxproj @@ -18,6 +18,7 @@ 8B562FBF29AD8F1500A5FFB7 /* MainViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B562FBE29AD8F1500A5FFB7 /* MainViewModel.swift */; }; 8B562FC129AD914400A5FFB7 /* TripDetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B562FC029AD914400A5FFB7 /* TripDetailViewModel.swift */; }; 8B562FC329AD9CCF00A5FFB7 /* TaskListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B562FC229AD9CCF00A5FFB7 /* TaskListViewModel.swift */; }; + 8B5A38522A32957F000E8DC5 /* SmilesMilesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5A38512A32957F000E8DC5 /* SmilesMilesTests.swift */; }; 8B5E5E9F299B3832000F3882 /* TripDetail.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8B5E5E9E299B3832000F3882 /* TripDetail.swift */; }; 8BD55F592A22B9EF00072400 /* UserModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD55F582A22B9EF00072400 /* UserModel.swift */; }; 8BD55F5B2A22BA0C00072400 /* TripModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8BD55F5A2A22BA0C00072400 /* TripModel.swift */; }; @@ -30,14 +31,7 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 8BD866BF2994436500961B52 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 8BD866A62994436300961B52 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 8BD866AD2994436300961B52; - remoteInfo = SmilesMiles; - }; - 8BD866C92994436500961B52 /* PBXContainerItemProxy */ = { + 8B5A38532A32957F000E8DC5 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 8BD866A62994436300961B52 /* Project object */; proxyType = 1; @@ -50,53 +44,56 @@ 8B01F1F32A245BD2003A7CD9 /* TaskModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskModel.swift; sourceTree = ""; }; 8B0A2AC0299DC73F005890D4 /* TaskListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskListView.swift; sourceTree = ""; }; 8B1087992A17217500E92AD7 /* Secrets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Secrets.swift; sourceTree = ""; }; + 8B3F51FC2A31628F005F13EB /* SmilesMilesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmilesMilesTests.swift; sourceTree = ""; }; 8B562FBA29AD8D2600A5FFB7 /* NewTripViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewTripViewModel.swift; sourceTree = ""; }; 8B562FBC29AD8D6E00A5FFB7 /* TripViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TripViewModel.swift; sourceTree = ""; }; 8B562FBE29AD8F1500A5FFB7 /* MainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewModel.swift; sourceTree = ""; }; 8B562FC029AD914400A5FFB7 /* TripDetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TripDetailViewModel.swift; sourceTree = ""; }; 8B562FC229AD9CCF00A5FFB7 /* TaskListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaskListViewModel.swift; sourceTree = ""; }; + 8B5A38512A32957F000E8DC5 /* SmilesMilesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmilesMilesTests.swift; sourceTree = ""; }; 8B5E5E9E299B3832000F3882 /* TripDetail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TripDetail.swift; sourceTree = ""; }; + 8B8C52502A329FAF00584D62 /* SmilesMiles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SmilesMiles.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 8B8C52512A329FAF00584D62 /* SmilesMilesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SmilesMilesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 8B8C52522A32A13900584D62 /* SmilesMiles.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SmilesMiles.entitlements; sourceTree = ""; }; 8BD55F582A22B9EF00072400 /* UserModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserModel.swift; sourceTree = ""; }; 8BD55F5A2A22BA0C00072400 /* TripModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TripModel.swift; sourceTree = ""; }; - 8BD866AE2994436300961B52 /* SmilesMiles.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SmilesMiles.app; sourceTree = BUILT_PRODUCTS_DIR; }; 8BD866B12994436300961B52 /* SmilesMilesApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmilesMilesApp.swift; sourceTree = ""; }; 8BD866B32994436300961B52 /* MainView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainView.swift; sourceTree = ""; }; 8BD866B52994436500961B52 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 8BD866B82994436500961B52 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; - 8BD866BE2994436500961B52 /* SmilesMilesTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SmilesMilesTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 8BD866C82994436500961B52 /* SmilesMilesUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SmilesMilesUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 8BD866DF29947F8500961B52 /* TripView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TripView.swift; sourceTree = ""; }; 8BD866E1299483ED00961B52 /* NewTrip.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NewTrip.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 8BD866AB2994436300961B52 /* Frameworks */ = { + 8B5A384C2A32957F000E8DC5 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8B1087632A16F27200E92AD7 /* Alamofire in Frameworks */, - 8B10875C2A16EFC800E92AD7 /* GoogleSignIn in Frameworks */, - 8B10875E2A16EFC800E92AD7 /* GoogleSignInSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8BD866BB2994436500961B52 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8BD866C52994436500961B52 /* Frameworks */ = { + 8BD866AB2994436300961B52 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 8B1087632A16F27200E92AD7 /* Alamofire in Frameworks */, + 8B10875C2A16EFC800E92AD7 /* GoogleSignIn in Frameworks */, + 8B10875E2A16EFC800E92AD7 /* GoogleSignInSwift in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 8B3F51FA2A3161C7005F13EB /* SmilesMilesTests */ = { + isa = PBXGroup; + children = ( + 8B3F51FC2A31628F005F13EB /* SmilesMilesTests.swift */, + ); + path = SmilesMilesTests; + sourceTree = ""; + }; 8B562FB929AD8D0200A5FFB7 /* ViewModel */ = { isa = PBXGroup; children = ( @@ -109,6 +106,14 @@ path = ViewModel; sourceTree = ""; }; + 8B5A38502A32957F000E8DC5 /* SmilesMilesTests */ = { + isa = PBXGroup; + children = ( + 8B5A38512A32957F000E8DC5 /* SmilesMilesTests.swift */, + ); + path = SmilesMilesTests; + sourceTree = ""; + }; 8B5E5EA0299B3A39000F3882 /* View */ = { isa = PBXGroup; children = ( @@ -135,23 +140,17 @@ isa = PBXGroup; children = ( 8BD866B02994436300961B52 /* SmilesMiles */, - 8BD866AF2994436300961B52 /* Products */, - ); - sourceTree = ""; - }; - 8BD866AF2994436300961B52 /* Products */ = { - isa = PBXGroup; - children = ( - 8BD866AE2994436300961B52 /* SmilesMiles.app */, - 8BD866BE2994436500961B52 /* SmilesMilesTests.xctest */, - 8BD866C82994436500961B52 /* SmilesMilesUITests.xctest */, + 8B3F51FA2A3161C7005F13EB /* SmilesMilesTests */, + 8B5A38502A32957F000E8DC5 /* SmilesMilesTests */, + 8B8C52502A329FAF00584D62 /* SmilesMiles.app */, + 8B8C52512A329FAF00584D62 /* SmilesMilesTests.xctest */, ); - name = Products; sourceTree = ""; }; 8BD866B02994436300961B52 /* SmilesMiles */ = { isa = PBXGroup; children = ( + 8B8C52522A32A13900584D62 /* SmilesMiles.entitlements */, 8BD55F572A22B9E500072400 /* Model */, 8BD866B12994436300961B52 /* SmilesMilesApp.swift */, 8B5E5EA0299B3A39000F3882 /* View */, @@ -174,6 +173,24 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 8B5A384E2A32957F000E8DC5 /* SmilesMilesTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8B5A38552A32957F000E8DC5 /* Build configuration list for PBXNativeTarget "SmilesMilesTests" */; + buildPhases = ( + 8B5A384B2A32957F000E8DC5 /* Sources */, + 8B5A384C2A32957F000E8DC5 /* Frameworks */, + 8B5A384D2A32957F000E8DC5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 8B5A38542A32957F000E8DC5 /* PBXTargetDependency */, + ); + name = SmilesMilesTests; + productName = SmilesMilesTests; + productReference = 8B8C52512A329FAF00584D62 /* SmilesMilesTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; 8BD866AD2994436300961B52 /* SmilesMiles */ = { isa = PBXNativeTarget; buildConfigurationList = 8BD866D22994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMiles" */; @@ -194,45 +211,9 @@ 8B1087622A16F27200E92AD7 /* Alamofire */, ); productName = SmilesMiles; - productReference = 8BD866AE2994436300961B52 /* SmilesMiles.app */; + productReference = 8B8C52502A329FAF00584D62 /* SmilesMiles.app */; productType = "com.apple.product-type.application"; }; - 8BD866BD2994436500961B52 /* SmilesMilesTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8BD866D52994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMilesTests" */; - buildPhases = ( - 8BD866BA2994436500961B52 /* Sources */, - 8BD866BB2994436500961B52 /* Frameworks */, - 8BD866BC2994436500961B52 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8BD866C02994436500961B52 /* PBXTargetDependency */, - ); - name = SmilesMilesTests; - productName = SmilesMilesTests; - productReference = 8BD866BE2994436500961B52 /* SmilesMilesTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 8BD866C72994436500961B52 /* SmilesMilesUITests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8BD866D82994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMilesUITests" */; - buildPhases = ( - 8BD866C42994436500961B52 /* Sources */, - 8BD866C52994436500961B52 /* Frameworks */, - 8BD866C62994436500961B52 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 8BD866CA2994436500961B52 /* PBXTargetDependency */, - ); - name = SmilesMilesUITests; - productName = SmilesMilesUITests; - productReference = 8BD866C82994436500961B52 /* SmilesMilesUITests.xctest */; - productType = "com.apple.product-type.bundle.ui-testing"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -240,19 +221,15 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastSwiftUpdateCheck = 1420; + LastSwiftUpdateCheck = 1430; LastUpgradeCheck = 1420; TargetAttributes = { - 8BD866AD2994436300961B52 = { - CreatedOnToolsVersion = 14.2; - }; - 8BD866BD2994436500961B52 = { - CreatedOnToolsVersion = 14.2; + 8B5A384E2A32957F000E8DC5 = { + CreatedOnToolsVersion = 14.3.1; TestTargetID = 8BD866AD2994436300961B52; }; - 8BD866C72994436500961B52 = { + 8BD866AD2994436300961B52 = { CreatedOnToolsVersion = 14.2; - TestTargetID = 8BD866AD2994436300961B52; }; }; }; @@ -269,38 +246,30 @@ 8B10875A2A16EFC700E92AD7 /* XCRemoteSwiftPackageReference "GoogleSignIn-iOS" */, 8B1087612A16F27100E92AD7 /* XCRemoteSwiftPackageReference "Alamofire" */, ); - productRefGroup = 8BD866AF2994436300961B52 /* Products */; + productRefGroup = 8BD866A52994436300961B52; projectDirPath = ""; projectRoot = ""; targets = ( 8BD866AD2994436300961B52 /* SmilesMiles */, - 8BD866BD2994436500961B52 /* SmilesMilesTests */, - 8BD866C72994436500961B52 /* SmilesMilesUITests */, + 8B5A384E2A32957F000E8DC5 /* SmilesMilesTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 8BD866AC2994436300961B52 /* Resources */ = { + 8B5A384D2A32957F000E8DC5 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 8BD866B92994436500961B52 /* Preview Assets.xcassets in Resources */, - 8BD866B62994436500961B52 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8BD866BC2994436500961B52 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8BD866C62994436500961B52 /* Resources */ = { + 8BD866AC2994436300961B52 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 8BD866B92994436500961B52 /* Preview Assets.xcassets in Resources */, + 8BD866B62994436500961B52 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -327,6 +296,14 @@ /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 8B5A384B2A32957F000E8DC5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8B5A38522A32957F000E8DC5 /* SmilesMilesTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 8BD866AA2994436300961B52 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -349,36 +326,55 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 8BD866BA2994436500961B52 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 8BD866C42994436500961B52 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 8BD866C02994436500961B52 /* PBXTargetDependency */ = { + 8B5A38542A32957F000E8DC5 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 8BD866AD2994436300961B52 /* SmilesMiles */; - targetProxy = 8BD866BF2994436500961B52 /* PBXContainerItemProxy */; - }; - 8BD866CA2994436500961B52 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 8BD866AD2994436300961B52 /* SmilesMiles */; - targetProxy = 8BD866C92994436500961B52 /* PBXContainerItemProxy */; + targetProxy = 8B5A38532A32957F000E8DC5 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ + 8B5A38562A32957F000E8DC5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 37NXQVDPN9; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.smiles.SmilesMilesTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmilesMiles.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/SmilesMiles"; + }; + name = Debug; + }; + 8B5A38572A32957F000E8DC5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 37NXQVDPN9; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 16.4; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.smiles.SmilesMilesTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmilesMiles.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/SmilesMiles"; + }; + name = Release; + }; 8BD866D02994436500961B52 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -498,6 +494,8 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SmilesMiles/SmilesMiles.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"SmilesMiles/Preview Content\""; @@ -517,6 +515,7 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.smiles.SmilesMiles; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; @@ -528,6 +527,8 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = SmilesMiles/SmilesMiles.entitlements; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; CURRENT_PROJECT_VERSION = 1; DEVELOPMENT_ASSET_PATHS = "\"SmilesMiles/Preview Content\""; @@ -547,123 +548,39 @@ MARKETING_VERSION = 1.0; PRODUCT_BUNDLE_IDENTIFIER = com.smiles.SmilesMiles; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; - 8BD866D62994436500961B52 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 37NXQVDPN9; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = smiles.SmilesMilesTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmilesMiles.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/SmilesMiles"; - }; - name = Debug; - }; - 8BD866D72994436500961B52 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 37NXQVDPN9; - GENERATE_INFOPLIST_FILE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 16.2; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = smiles.SmilesMilesTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/SmilesMiles.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/SmilesMiles"; - }; - name = Release; - }; - 8BD866D92994436500961B52 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 37NXQVDPN9; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = smiles.SmilesMilesUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = SmilesMiles; - }; - name = Debug; - }; - 8BD866DA2994436500961B52 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEVELOPMENT_TEAM = 37NXQVDPN9; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = smiles.SmilesMilesUITests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TEST_TARGET_NAME = SmilesMiles; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 8BD866A92994436300961B52 /* Build configuration list for PBXProject "SmilesMiles" */ = { + 8B5A38552A32957F000E8DC5 /* Build configuration list for PBXNativeTarget "SmilesMilesTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8BD866D02994436500961B52 /* Debug */, - 8BD866D12994436500961B52 /* Release */, + 8B5A38562A32957F000E8DC5 /* Debug */, + 8B5A38572A32957F000E8DC5 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8BD866D22994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMiles" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8BD866D32994436500961B52 /* Debug */, - 8BD866D42994436500961B52 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8BD866D52994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMilesTests" */ = { + 8BD866A92994436300961B52 /* Build configuration list for PBXProject "SmilesMiles" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8BD866D62994436500961B52 /* Debug */, - 8BD866D72994436500961B52 /* Release */, + 8BD866D02994436500961B52 /* Debug */, + 8BD866D12994436500961B52 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 8BD866D82994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMilesUITests" */ = { + 8BD866D22994436500961B52 /* Build configuration list for PBXNativeTarget "SmilesMiles" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8BD866D92994436500961B52 /* Debug */, - 8BD866DA2994436500961B52 /* Release */, + 8BD866D32994436500961B52 /* Debug */, + 8BD866D42994436500961B52 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/SmilesMiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/SmilesMiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/SmilesMiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/SmilesMiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/SmilesMiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..d00de16 --- /dev/null +++ b/SmilesMiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,50 @@ +{ + "pins" : [ + { + "identity" : "alamofire", + "kind" : "remoteSourceControl", + "location" : "https://github.com/Alamofire/Alamofire.git", + "state" : { + "revision" : "bc268c28fb170f494de9e9927c371b8342979ece", + "version" : "5.7.1" + } + }, + { + "identity" : "appauth-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/openid/AppAuth-iOS.git", + "state" : { + "revision" : "71cde449f13d453227e687458144bde372d30fc7", + "version" : "1.6.2" + } + }, + { + "identity" : "googlesignin-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GoogleSignIn-iOS", + "state" : { + "revision" : "7932d33686c1dc4d7df7a919aae47361d1cdfda4", + "version" : "7.0.0" + } + }, + { + "identity" : "gtm-session-fetcher", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/gtm-session-fetcher.git", + "state" : { + "revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd", + "version" : "3.1.1" + } + }, + { + "identity" : "gtmappauth", + "kind" : "remoteSourceControl", + "location" : "https://github.com/google/GTMAppAuth.git", + "state" : { + "revision" : "cee3c709307912d040bd1e06ca919875a92339c6", + "version" : "2.0.0" + } + } + ], + "version" : 2 +} diff --git a/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000..a56f775 Binary files /dev/null and b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate~790aa5a (Updated Screens) b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate~790aa5a (Updated Screens) new file mode 100644 index 0000000..3eb198e Binary files /dev/null and b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/UserInterfaceState.xcuserstate~790aa5a (Updated Screens) differ diff --git a/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/WorkspaceSettings.xcsettings b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f7c05f3 --- /dev/null +++ b/SmilesMiles.xcodeproj/project.xcworkspace/xcuserdata/pavan.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,14 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + ShowSharedSchemesAutomaticallyEnabled + + + diff --git a/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMiles.xcscheme b/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMiles.xcscheme new file mode 100644 index 0000000..e2fbd5d --- /dev/null +++ b/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMiles.xcscheme @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMilesTests.xcscheme b/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMilesTests.xcscheme new file mode 100644 index 0000000..d53854e --- /dev/null +++ b/SmilesMiles.xcodeproj/xcshareddata/xcschemes/SmilesMilesTests.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..68937cd --- /dev/null +++ b/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcschemes/xcschememanagement.plist b/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..d5317a9 --- /dev/null +++ b/SmilesMiles.xcodeproj/xcuserdata/pavan.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,37 @@ + + + + + SchemeUserState + + SmilesMiles.xcscheme_^#shared#^_ + + orderHint + 0 + + SmilesMilesTests.xcscheme_^#shared#^_ + + orderHint + 1 + + + SuppressBuildableAutocreation + + 8B5A384E2A32957F000E8DC5 + + primary + + + 8BD866AD2994436300961B52 + + primary + + + 8BD866BD2994436500961B52 + + primary + + + + + diff --git a/SmilesMiles/SmilesMiles.entitlements b/SmilesMiles/SmilesMiles.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/SmilesMiles/SmilesMiles.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/SmilesMilesTests/SmilesMilesTests-Bridging-Header.h b/SmilesMilesTests/SmilesMilesTests-Bridging-Header.h new file mode 100644 index 0000000..1b2cb5d --- /dev/null +++ b/SmilesMilesTests/SmilesMilesTests-Bridging-Header.h @@ -0,0 +1,4 @@ +// +// Use this file to import your target's public headers that you would like to expose to Swift. +// + diff --git a/SmilesMilesTests/SmilesMilesTests.swift b/SmilesMilesTests/SmilesMilesTests.swift new file mode 100644 index 0000000..14678c4 --- /dev/null +++ b/SmilesMilesTests/SmilesMilesTests.swift @@ -0,0 +1,35 @@ +// +// SmilesMilesTests.swift +// SmilesMilesTests +// +// Created by Pavan Sai Nallagoni on 6/8/23. +// + +import XCTest + +final class SmilesMilesTests: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } + + func testPerformanceExample() throws { + // This is an example of a performance test case. + measure { + // Put the code you want to measure the time of here. + } + } + +} diff --git a/fastlane/Fastfile b/fastlane/Fastfile new file mode 100644 index 0000000..cfcbdce --- /dev/null +++ b/fastlane/Fastfile @@ -0,0 +1,11 @@ +default_platform :ios + +platform :ios do + desc 'Builds project and executes unit tests' + lane :unit_test do |options| + scan( + clean: options[:clean], + skip_package_dependencies_resolution: options[:skip_package_dependencies_resolution] + ) + end +end \ No newline at end of file diff --git a/fastlane/README.md b/fastlane/README.md new file mode 100644 index 0000000..91e1339 --- /dev/null +++ b/fastlane/README.md @@ -0,0 +1,32 @@ +fastlane documentation +---- + +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +```sh +xcode-select --install +``` + +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) + +# Available Actions + +## iOS + +### ios unit_test + +```sh +[bundle exec] fastlane ios unit_test +``` + +Builds project and executes unit tests + +---- + +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). diff --git a/fastlane/Scanfile b/fastlane/Scanfile new file mode 100644 index 0000000..3d40db5 --- /dev/null +++ b/fastlane/Scanfile @@ -0,0 +1,11 @@ +# For more information about this configuration visit +# https://github.com/fastlane/scan#scanfile + +workspace "SmilesMiles.xcodeproj/project.xcworkspace" +scheme "SmilesMiles" +sdk "iphonesimulator" +device "iPhone 14 Pro" +code_coverage true +xcargs '-parallelizeTargets' +prelaunch_simulator true +derived_data_path "Build/" \ No newline at end of file