# HG changeset patch # User Dennis C. M. # Date 1628153148 -3600 # Node ID 887ea63452b5d8b32428ed04253e70cc2ff2f19c # Parent dd4d99fa896679ef37afc1e50a396c9d980765c3# Parent 42e9c7812f5e1063cd5043d01ca339b3c7dc8f73 Merge pull request #12 from DennisTechnologies/development Submit beta 1.3 Build 6 committer: GitHub diff -r dd4d99fa8966 -r 887ea63452b5 .github/workflows/ios.yml --- a/.github/workflows/ios.yml Tue Aug 03 18:54:55 2021 +0100 +++ b/.github/workflows/ios.yml Thu Aug 05 09:45:48 2021 +0100 @@ -2,9 +2,9 @@ on: push: - branches: [ main ] + branches: [ development ] pull_request: - branches: [ main ] + branches: [ main, beta ] jobs: build: @@ -14,15 +14,9 @@ steps: - name: Checkout uses: actions/checkout@v2 - - name: Set Default Scheme - run: | - scheme_list=$(xcodebuild -list -json | tr -d "\n") - default=$(echo $scheme_list | ruby -e "require 'json'; puts JSON.parse(STDIN.gets)['project']['targets'][0]") - echo $default | cat >default - echo Using default scheme: $default - name: Build env: - scheme: ${{ 'default' }} + scheme: ${{ 'Simoleon' }} platform: ${{ 'iOS Simulator' }} run: | # xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959) @@ -33,7 +27,7 @@ xcodebuild build-for-testing -scheme "$scheme" -"$filetype_parameter" "$file_to_build" -destination "platform=$platform,name=$device" - name: Test env: - scheme: ${{ 'default' }} + scheme: ${{ 'Simoleon' }} platform: ${{ 'iOS Simulator' }} run: | # xcrun xctrace returns via stderr, not the expected stdout (see https://developer.apple.com/forums/thread/663959) diff -r dd4d99fa8966 -r 887ea63452b5 .gitignore --- a/.gitignore Tue Aug 03 18:54:55 2021 +0100 +++ b/.gitignore Thu Aug 05 09:45:48 2021 +0100 @@ -30,4 +30,11 @@ Temporary Items .apdisk +# Fastlane builds +Simoleon.ipa +Simoleon.app.dSYM.zip +fastlane/Preview.html +fastlane/screenshots +report.xml + # End of https://www.toptal.com/developers/gitignore/api/macos diff -r dd4d99fa8966 -r 887ea63452b5 Configuration.storekit --- a/Configuration.storekit Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,49 +0,0 @@ -{ - "identifier" : "DAA348ED", - "nonRenewingSubscriptions" : [ - - ], - "products" : [ - - ], - "settings" : { - "_timeRate" : 4 - }, - "subscriptionGroups" : [ - { - "id" : "22DC70A2", - "localizations" : [ - - ], - "name" : "Simoleon Subscription", - "subscriptions" : [ - { - "adHocOffers" : [ - - ], - "displayPrice" : "0.99", - "familyShareable" : true, - "groupNumber" : 1, - "internalID" : "5C46FFC9", - "introductoryOffer" : null, - "localizations" : [ - { - "description" : "", - "displayName" : "", - "locale" : "en_US" - } - ], - "productID" : "simoleon_all_monthly", - "recurringSubscriptionPeriod" : "P1M", - "referenceName" : "All Access", - "subscriptionGroupID" : "22DC70A2", - "type" : "RecurringSubscription" - } - ] - } - ], - "version" : { - "major" : 1, - "minor" : 1 - } -} diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon.xcodeproj/project.pbxproj --- a/Simoleon.xcodeproj/project.pbxproj Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon.xcodeproj/project.pbxproj Thu Aug 05 09:45:48 2021 +0100 @@ -15,20 +15,15 @@ 95561E3F26AF25EF00CCB543 /* SubscriptionFeature.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95561E3E26AF25EF00CCB543 /* SubscriptionFeature.swift */; }; 95562D4D26A8962A0047E778 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 95562D4C26A8962A0047E778 /* StoreKit.framework */; }; 95562D5226A8AEF60047E778 /* Purchases in Frameworks */ = {isa = PBXBuildFile; productRef = 95562D5126A8AEF60047E778 /* Purchases */; }; - 956088B626B9307600A4FD6C /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 956088B526B9307600A4FD6C /* SnapshotHelper.swift */; }; 957065E226A5FE0400523E68 /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 957065E126A5FE0400523E68 /* Settings.swift */; }; 958526C326B41D60001FC826 /* CurrencyPairModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 958526C226B41D60001FC826 /* CurrencyPairModel.swift */; }; 9585BB1226A6B71B00E3193E /* ReadConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1126A6B71B00E3193E /* ReadConfig.swift */; }; 9585BB1426A6B7F400E3193E /* NetworkRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1326A6B7F400E3193E /* NetworkRequest.swift */; }; 9585BB1A26A6E8FD00E3193E /* SimpleSuccess.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9585BB1926A6E8FD00E3193E /* SimpleSuccess.swift */; }; 9587598D26B2A68B004086F0 /* CurrencyMetadata.json in Resources */ = {isa = PBXBuildFile; fileRef = 9587598F26B2A68B004086F0 /* CurrencyMetadata.json */; }; - 9587599E26B2ACA6004086F0 /* Configuration.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 9587599D26B2ACA6004086F0 /* Configuration.storekit */; }; - 9587599F26B2ACA6004086F0 /* Configuration.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 9587599D26B2ACA6004086F0 /* Configuration.storekit */; }; - 958759A026B2ACA6004086F0 /* Configuration.storekit in Resources */ = {isa = PBXBuildFile; fileRef = 9587599D26B2ACA6004086F0 /* Configuration.storekit */; }; - 958759A226B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */ = {isa = PBXBuildFile; fileRef = 958759A126B2AE85004086F0 /* StoreKitTestCertificate.cer */; }; - 958759A326B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */ = {isa = PBXBuildFile; fileRef = 958759A126B2AE85004086F0 /* StoreKitTestCertificate.cer */; }; - 958759A426B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */ = {isa = PBXBuildFile; fileRef = 958759A126B2AE85004086F0 /* StoreKitTestCertificate.cer */; }; 95909CB326B07BFC00D051AB /* SearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95909CB226B07BFC00D051AB /* SearchBar.swift */; }; + 959F6DEB26BBD53500101E53 /* SimoleonScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = 959F6DEA26BBD53500101E53 /* SimoleonScreenshots.swift */; }; + 959F6DF326BBD54400101E53 /* SnapshotHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 956088B526B9307600A4FD6C /* SnapshotHelper.swift */; }; 95AEBC9526A03ECB00613729 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9426A03ECB00613729 /* ContentView.swift */; }; 95AEBC9B26A04A4200613729 /* CurrencyMetadataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9A26A04A4200613729 /* CurrencyMetadataModel.swift */; }; 95AEBC9D26A04D4600613729 /* CurrencyRow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95AEBC9C26A04D4600613729 /* CurrencyRow.swift */; }; @@ -64,6 +59,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 959F6DED26BBD53500101E53 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 95C5B21C2697752600941585 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 95C5B2232697752600941585; + remoteInfo = Simoleon; + }; 95C5B23B2697752700941585 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 95C5B21C2697752600941585 /* Project object */; @@ -132,9 +134,10 @@ 9587599A26B2A6A8004086F0 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = "pt-PT"; path = "pt-PT.lproj/CurrencyMetadata.json"; sourceTree = ""; }; 9587599B26B2A6A8004086F0 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = ru; path = ru.lproj/CurrencyMetadata.json; sourceTree = ""; }; 9587599C26B2A6AA004086F0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = es; path = es.lproj/CurrencyMetadata.json; sourceTree = ""; }; - 9587599D26B2ACA6004086F0 /* Configuration.storekit */ = {isa = PBXFileReference; lastKnownFileType = text; path = Configuration.storekit; sourceTree = SOURCE_ROOT; }; - 958759A126B2AE85004086F0 /* StoreKitTestCertificate.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = StoreKitTestCertificate.cer; sourceTree = ""; }; 95909CB226B07BFC00D051AB /* SearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchBar.swift; sourceTree = ""; }; + 959F6DE826BBD53500101E53 /* SimoleonScreenshots.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SimoleonScreenshots.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 959F6DEA26BBD53500101E53 /* SimoleonScreenshots.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonScreenshots.swift; sourceTree = ""; }; + 959F6DEC26BBD53500101E53 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 95A70BE926B0550000CC0273 /* CloudKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CloudKit.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS7.4.sdk/System/Library/Frameworks/CloudKit.framework; sourceTree = DEVELOPER_DIR; }; 95AEBC9426A03ECB00613729 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; 95AEBC9A26A04A4200613729 /* CurrencyMetadataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyMetadataModel.swift; sourceTree = ""; }; @@ -180,6 +183,13 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 959F6DE526BBD53500101E53 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 95C5B2212697752600941585 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -241,6 +251,15 @@ path = Resources; sourceTree = ""; }; + 959F6DE926BBD53500101E53 /* SimoleonScreenshots */ = { + isa = PBXGroup; + children = ( + 959F6DEA26BBD53500101E53 /* SimoleonScreenshots.swift */, + 959F6DEC26BBD53500101E53 /* Info.plist */, + ); + path = SimoleonScreenshots; + sourceTree = ""; + }; 95B5F52526AADE4B00BDCE89 /* Localization */ = { isa = PBXGroup; children = ( @@ -253,7 +272,6 @@ isa = PBXGroup; children = ( 95B5F52726AADE4B00BDCE89 /* Localized Contents */, - 95B5F52926AADE4B00BDCE89 /* Notes */, 95B5F52A26AADE4B00BDCE89 /* contents.json */, 95B5F52B26AADE4B00BDCE89 /* Source Contents */, ); @@ -268,13 +286,6 @@ path = "Localized Contents"; sourceTree = ""; }; - 95B5F52926AADE4B00BDCE89 /* Notes */ = { - isa = PBXGroup; - children = ( - ); - path = Notes; - sourceTree = ""; - }; 95B5F52B26AADE4B00BDCE89 /* Source Contents */ = { isa = PBXGroup; children = ( @@ -295,12 +306,11 @@ 95C5B21B2697752600941585 = { isa = PBXGroup; children = ( - 9587599D26B2ACA6004086F0 /* Configuration.storekit */, - 958759A126B2AE85004086F0 /* StoreKitTestCertificate.cer */, 956088B526B9307600A4FD6C /* SnapshotHelper.swift */, 95C5B2262697752600941585 /* Simoleon */, 95C5B23D2697752700941585 /* SimoleonTests */, 95C5B2482697752700941585 /* SimoleonUITests */, + 959F6DE926BBD53500101E53 /* SimoleonScreenshots */, 95C5B2252697752600941585 /* Products */, 95E76438269E0037008E9F31 /* Frameworks */, ); @@ -312,6 +322,7 @@ 95C5B2242697752600941585 /* Simoleon.app */, 95C5B23A2697752700941585 /* SimoleonTests.xctest */, 95C5B2452697752700941585 /* SimoleonUITests.xctest */, + 959F6DE826BBD53500101E53 /* SimoleonScreenshots.xctest */, ); name = Products; sourceTree = ""; @@ -402,6 +413,24 @@ /* End PBXGroup section */ /* Begin PBXNativeTarget section */ + 959F6DE726BBD53500101E53 /* SimoleonScreenshots */ = { + isa = PBXNativeTarget; + buildConfigurationList = 959F6DF126BBD53500101E53 /* Build configuration list for PBXNativeTarget "SimoleonScreenshots" */; + buildPhases = ( + 959F6DE426BBD53500101E53 /* Sources */, + 959F6DE526BBD53500101E53 /* Frameworks */, + 959F6DE626BBD53500101E53 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 959F6DEE26BBD53500101E53 /* PBXTargetDependency */, + ); + name = SimoleonScreenshots; + productName = SimoleonScreenshots; + productReference = 959F6DE826BBD53500101E53 /* SimoleonScreenshots.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; 95C5B2232697752600941585 /* Simoleon */ = { isa = PBXNativeTarget; buildConfigurationList = 95C5B24E2697752700941585 /* Build configuration list for PBXNativeTarget "Simoleon" */; @@ -468,6 +497,10 @@ LastSwiftUpdateCheck = 1250; LastUpgradeCheck = 1250; TargetAttributes = { + 959F6DE726BBD53500101E53 = { + CreatedOnToolsVersion = 12.5.1; + TestTargetID = 95C5B2232697752600941585; + }; 95C5B2232697752600941585 = { CreatedOnToolsVersion = 12.5.1; }; @@ -508,18 +541,24 @@ 95C5B2232697752600941585 /* Simoleon */, 95C5B2392697752700941585 /* SimoleonTests */, 95C5B2442697752700941585 /* SimoleonUITests */, + 959F6DE726BBD53500101E53 /* SimoleonScreenshots */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ + 959F6DE626BBD53500101E53 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 95C5B2222697752600941585 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 95DD4ABB269B33810027CA1F /* CurrencyPairs.json in Resources */, - 9587599E26B2ACA6004086F0 /* Configuration.storekit in Resources */, - 958759A226B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */, 95C5B22F2697752700941585 /* Preview Assets.xcassets in Resources */, 95E76436269DFC1A008E9F31 /* LaunchScreen.storyboard in Resources */, 9587598D26B2A68B004086F0 /* CurrencyMetadata.json in Resources */, @@ -535,8 +574,6 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9587599F26B2ACA6004086F0 /* Configuration.storekit in Resources */, - 958759A326B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -544,14 +581,21 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 958759A026B2ACA6004086F0 /* Configuration.storekit in Resources */, - 958759A426B2AE85004086F0 /* StoreKitTestCertificate.cer in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ + 959F6DE426BBD53500101E53 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 959F6DEB26BBD53500101E53 /* SimoleonScreenshots.swift in Sources */, + 959F6DF326BBD54400101E53 /* SnapshotHelper.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 95C5B2202697752600941585 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -605,13 +649,17 @@ buildActionMask = 2147483647; files = ( 95C5B24A2697752700941585 /* SimoleonUITests.swift in Sources */, - 956088B626B9307600A4FD6C /* SnapshotHelper.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 959F6DEE26BBD53500101E53 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 95C5B2232697752600941585 /* Simoleon */; + targetProxy = 959F6DED26BBD53500101E53 /* PBXContainerItemProxy */; + }; 95C5B23C2697752700941585 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 95C5B2232697752600941585 /* Simoleon */; @@ -677,6 +725,46 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ + 959F6DEF26BBD53500101E53 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = MTX83R5H8X; + INFOPLIST_FILE = SimoleonScreenshots/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonScreenshots; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Simoleon; + }; + name = Debug; + }; + 959F6DF026BBD53500101E53 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = MTX83R5H8X; + INFOPLIST_FILE = SimoleonScreenshots/Info.plist; + IPHONEOS_DEPLOYMENT_TARGET = 14.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = io.dennistech.SimoleonScreenshots; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = Simoleon; + }; + name = Release; + }; 95C5B24C2697752700941585 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -804,7 +892,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = Simoleon/Simoleon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 6; DEVELOPMENT_ASSET_PATHS = "\"Simoleon/Preview Content\""; DEVELOPMENT_TEAM = MTX83R5H8X; ENABLE_PREVIEWS = YES; @@ -829,7 +917,7 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_ENTITLEMENTS = Simoleon/Simoleon.entitlements; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 6; DEVELOPMENT_ASSET_PATHS = "\"Simoleon/Preview Content\""; DEVELOPMENT_TEAM = MTX83R5H8X; ENABLE_PREVIEWS = YES; @@ -934,6 +1022,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 959F6DF126BBD53500101E53 /* Build configuration list for PBXNativeTarget "SimoleonScreenshots" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 959F6DEF26BBD53500101E53 /* Debug */, + 959F6DF026BBD53500101E53 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 95C5B21F2697752600941585 /* Build configuration list for PBXProject "Simoleon" */ = { isa = XCConfigurationList; buildConfigurations = ( diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate Binary file Simoleon.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme --- a/Simoleon.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon.xcodeproj/xcshareddata/xcschemes/Screenshots.xcscheme Thu Aug 05 09:45:48 2021 +0100 @@ -22,10 +22,10 @@ + buildForAnalyzing = "YES"> + + + + + + + + + shouldUseLaunchSchemeArgsEnv = "YES" + disableMainThreadChecker = "YES"> + skipped = "YES"> + skipped = "YES"> + + + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist --- a/Simoleon.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon.xcodeproj/xcuserdata/dennis.xcuserdatad/xcschemes/xcschememanagement.plist Thu Aug 05 09:45:48 2021 +0100 @@ -28,12 +28,12 @@ Screenshots.xcscheme_^#shared#^_ orderHint - 1 + 0 Simoleon.xcscheme_^#shared#^_ orderHint - 3 + 1 SimoleonWatchOS (Complication).xcscheme_^#shared#^_ @@ -50,14 +50,14 @@ orderHint 1 - Tests.xcscheme_^#shared#^_ - - orderHint - 2 - SuppressBuildableAutocreation + 959F6DE726BBD53500101E53 + + primary + + 95C5B2232697752600941585 primary diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Conversion.swift --- a/Simoleon/Conversion.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Conversion.swift Thu Aug 05 09:45:48 2021 +0100 @@ -33,7 +33,6 @@ .padding(.horizontal) ) } - .accessibilityIdentifier("CurrencySelector") FavoriteButton(currencyPair: currencyPair) } diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Helpers/ConversionBox.swift --- a/Simoleon/Helpers/ConversionBox.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Helpers/ConversionBox.swift Thu Aug 05 09:45:48 2021 +0100 @@ -41,7 +41,6 @@ .font(Font.title.weight(.semibold)) .lineLimit(1) .padding(.bottom, 10) - .accessibilityIdentifier("ConversionTextfield") } Divider() diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Helpers/CurrencySelector.swift --- a/Simoleon/Helpers/CurrencySelector.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Helpers/CurrencySelector.swift Thu Aug 05 09:45:48 2021 +0100 @@ -40,27 +40,26 @@ VStack { SearchBar(placeholder: "Search...", text: $searchCurrency) .padding() - .accessibilityIdentifier("SearchBar") - if entitlementIsActive { - List(searchResults, id: \.self) { currencyPair in - Button(action: { - self.currencyPair = currencyPair.name - showingCurrencySelector = false - }) { - CurrencyRow(currencyPairName: currencyPair.name) + List { + if entitlementIsActive { + ForEach(searchResults, id: \.self) { currencyPair in + Button(action: { + self.currencyPair = currencyPair.name + showingCurrencySelector = false + }) { + CurrencyRow(currencyPairName: currencyPair.name) + } } - .accessibilityIdentifier("CurrencyRow") - } - .listStyle() - } else { - List(searchResults, id: \.self) { currencyPair in - Button(action: { select(currencyPair) }) { - CurrencyRow(currencyPairName: currencyPair.name, isLocked: currencyPair.isLocked) + } else { + ForEach(searchResults, id: \.self) { currencyPair in + Button(action: { select(currencyPair) }) { + CurrencyRow(currencyPairName: currencyPair.name, isLocked: currencyPair.isLocked) + } } } - .listStyle() } + .id(UUID()) } .navigationTitle("Currencies") .navigationBarTitleDisplayMode(.inline) diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Helpers/FavoriteButton.swift --- a/Simoleon/Helpers/FavoriteButton.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Helpers/FavoriteButton.swift Thu Aug 05 09:45:48 2021 +0100 @@ -27,7 +27,6 @@ .foregroundColor(Color(.systemYellow)) ) } - .accessibilityIdentifier("FavoriteButton") } /* diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Helpers/Sidebar.swift --- a/Simoleon/Helpers/Sidebar.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Helpers/Sidebar.swift Thu Aug 05 09:45:48 2021 +0100 @@ -20,7 +20,6 @@ NavigationLink(destination: Favorites()) { Label("Favorites", systemImage: "star") } - .accessibility(identifier: "Favorites") NavigationLink(destination: Settings()) { Label("Settings", systemImage: "gear") diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Info.plist --- a/Simoleon/Info.plist Tue Aug 03 18:54:55 2021 +0100 +++ b/Simoleon/Info.plist Thu Aug 05 09:45:48 2021 +0100 @@ -23,7 +23,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - $(CURRENT_PROJECT_VERSION) + 6 LSRequiresIPhoneOS PURCHASES_KEY diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Localization/en.xcloc/Source Contents/Simoleon/de.lproj/Localizable.strings Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/de.lproj/Localizable.strings has changed diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Localization/en.xcloc/Source Contents/Simoleon/es.lproj/Localizable.strings Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/es.lproj/Localizable.strings has changed diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Localization/en.xcloc/Source Contents/Simoleon/fr.lproj/Localizable.strings Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/fr.lproj/Localizable.strings has changed diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Localization/en.xcloc/Source Contents/Simoleon/it.lproj/Localizable.strings Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/it.lproj/Localizable.strings has changed diff -r dd4d99fa8966 -r 887ea63452b5 Simoleon/Localization/en.xcloc/Source Contents/Simoleon/nl.lproj/Localizable.strings Binary file Simoleon/Localization/en.xcloc/Source Contents/Simoleon/nl.lproj/Localizable.strings has changed diff -r dd4d99fa8966 -r 887ea63452b5 SimoleonScreenshots/Info.plist --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SimoleonScreenshots/Info.plist Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,22 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + $(PRODUCT_BUNDLE_PACKAGE_TYPE) + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + + diff -r dd4d99fa8966 -r 887ea63452b5 SimoleonScreenshots/SimoleonScreenshots.swift --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SimoleonScreenshots/SimoleonScreenshots.swift Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,73 @@ +// +// SimoleonScreenshots.swift +// SimoleonScreenshots +// +// Created by Dennis Concepción Martín on 5/8/21. +// + +import XCTest + +class SimoleonScreenshots: XCTestCase { + var screnshotEndingName = "" + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + if UIDevice.current.userInterfaceIdiom == .pad { + XCUIDevice.shared.orientation = .landscapeLeft + screnshotEndingName = "-force_landscapeleft" + } + + let app = XCUIApplication() + setupSnapshot(app) + app.launch() + + // In UI tests it is usually best to stop immediately when a failure occurs. + continueAfterFailure = false + + // In UI tests it’s important to set the initial state - such as interface orientation - required for your tests before they run. The setUp method is a good place to do this. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + // MARK: - Automate screenshots + func testLaunch() { + if UIDevice.current.userInterfaceIdiom == .pad { + XCUIApplication().tables.buttons.firstMatch.tap() + } + + snapshot("1Launch\(screnshotEndingName)") + } + + func testCurrencySelector() { + if UIDevice.current.userInterfaceIdiom == .pad { + XCUIApplication().tables.buttons.firstMatch.tap() + } + + XCUIApplication().scrollViews.buttons.firstMatch.tap() + snapshot("2CurrencySelector\(screnshotEndingName)") + + XCUIApplication().tables.buttons.element(boundBy: 6).tap() + let conversionTextfield = XCUIApplication().textFields.firstMatch + conversionTextfield.tap() + for _ in (0..<4) { + conversionTextfield.typeText(XCUIKeyboardKey.delete.rawValue) + } + + conversionTextfield.typeText("\n") + + snapshot("3Amount\(screnshotEndingName)") + } + + func testFavorites() throws { + // Go to favorites + if UIDevice.current.userInterfaceIdiom == .pad { + XCUIApplication().tables.buttons.element(boundBy: 1).tap() + } else { + XCUIApplication().tabBars.buttons.element(boundBy: 1).tap() + } + + snapshot("4Favorites\(screnshotEndingName)") + } +} diff -r dd4d99fa8966 -r 887ea63452b5 SimoleonTests/Info.plist --- a/SimoleonTests/Info.plist Tue Aug 03 18:54:55 2021 +0100 +++ b/SimoleonTests/Info.plist Thu Aug 05 09:45:48 2021 +0100 @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.0 CFBundleVersion - 2 + 6 diff -r dd4d99fa8966 -r 887ea63452b5 SimoleonUITests/Info.plist --- a/SimoleonUITests/Info.plist Tue Aug 03 18:54:55 2021 +0100 +++ b/SimoleonUITests/Info.plist Thu Aug 05 09:45:48 2021 +0100 @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.0 CFBundleVersion - 2 + 6 diff -r dd4d99fa8966 -r 887ea63452b5 SimoleonUITests/SimoleonUITests.swift --- a/SimoleonUITests/SimoleonUITests.swift Tue Aug 03 18:54:55 2021 +0100 +++ b/SimoleonUITests/SimoleonUITests.swift Thu Aug 05 09:45:48 2021 +0100 @@ -21,61 +21,7 @@ override func tearDownWithError() throws { // Put teardown code here. This method is called after the invocation of each test method in the class. } - - // MARK: - Automate screenshots - func testLaunchScreenshots() { - let app = XCUIApplication() - setupSnapshot(app) - app.launch() - snapshot("0-Launch") - // Remove 100 from conversion textfield and type custom amount - let conversionTextfield = app.textFields["ConversionTextfield"] - conversionTextfield.tap() - for _ in (0..<4) { - conversionTextfield.typeText(XCUIKeyboardKey.delete.rawValue) - } - conversionTextfield.typeText("1470.10") - snapshot("1-Convert") - - // Remove custom amount and type again 1000 - for _ in (0..<7) { - conversionTextfield.typeText(XCUIKeyboardKey.delete.rawValue) - } - conversionTextfield.typeText("1000\n") - } - - func testCurrencySelectorScreenshots() throws { - let app = XCUIApplication() - setupSnapshot(app) - app.launch() - - // Open currency selector, search BTC, and select first row - app.buttons["CurrencySelector"].tap() - snapshot("2-CurrencySelector") - - let searchBar = app.textFields["SearchBar"] - searchBar.tap() - searchBar.typeText("BTC") - app.buttons["CurrencyRow"].firstMatch.tap() - snapshot("3-Bitcoin") - } - - func testFavorites() throws { - let app = XCUIApplication() - setupSnapshot(app) - app.launch() - - // Go to favorites - if UIDevice.current.userInterfaceIdiom == .pad { - app.navigationBars.buttons.element(boundBy: 0).tap() - app.buttons["Favorites"].tap() - } else { - app.tabBars.buttons.element(boundBy: 1).tap() - } - - snapshot("4-Favorites") - } func testLaunchPerformance() throws { if #available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 7.0, *) { diff -r dd4d99fa8966 -r 887ea63452b5 StoreKitTestCertificate.cer Binary file StoreKitTestCertificate.cer has changed diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/Fastfile --- a/fastlane/Fastfile Tue Aug 03 18:54:55 2021 +0100 +++ b/fastlane/Fastfile Thu Aug 05 09:45:48 2021 +0100 @@ -20,14 +20,20 @@ desc "Push a new beta build to TestFlight" lane :beta do increment_build_number( - build_number: latest_testflight_build_number( - initial_build_number: 1, - version: get_version_number(xcodeproj: "Simoleon.xcodeproj"), - live: false - ) + 1, + build_number: latest_testflight_build_number + 1, + xcodeproj: "Simoleon.xcodeproj" ) + build_app(scheme: "Simoleon") - upload_to_testflight + upload_to_testflight( + beta_app_review_info: { + contact_email: "dmartin@dennistech.io", + contact_first_name: "Dennis", + contact_last_name: "Concepcion Martin", + contact_phone: "+34 639 465 931", + notes: "Go and crash it. Thank you for reviewing <3" + } + ) end desc "Release new version to App Store" diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/README.md Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,34 @@ +fastlane documentation +================ +# Installation + +Make sure you have the latest version of the Xcode command line tools installed: + +``` +xcode-select --install +``` + +Install _fastlane_ using +``` +[sudo] gem install fastlane -NV +``` +or alternatively using `brew install fastlane` + +# Available Actions +## iOS +### ios beta +``` +fastlane ios beta +``` +Push a new beta build to TestFlight +### ios release +``` +fastlane ios release +``` +Release new version to App Store + +---- + +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 -r dd4d99fa8966 -r 887ea63452b5 fastlane/Snapfile --- a/fastlane/Snapfile Tue Aug 03 18:54:55 2021 +0100 +++ b/fastlane/Snapfile Thu Aug 05 09:45:48 2021 +0100 @@ -1,10 +1,8 @@ -# Uncomment the lines below you want to change by removing the # in the beginning - # A list of devices you want to take the screenshots from devices([ "iPhone 8 Plus", "iPhone 12 Pro Max", - "iPad Pro (12.9-inch) (4th generation)" + "iPad Pro (12.9-inch) (5th generation)" ]) languages([ @@ -15,27 +13,27 @@ "fr-FR", "pt-PT", "nl-NL", - "it-IT", - "ru-RU" + "it", + "ru" ]) -# The name of the scheme which contains the UI Tests +# The name of the scheme which contains the UI Tests. scheme("Screenshots") -# Where should the resulting screenshots be stored? -# output_directory("./screenshots") +# Enabling this option will automatically uninstall the application before running it. +# reinstall_app(true) -# remove the '#' to clear all previously generated screenshots before creating new ones +# Should the project be cleaned before building it? +clean(true) + +# Enabling this option will configure the Simulator's system language. +localize_simulator(true) + +# Clear all previously generated screenshots before creating new ones. clear_previous_screenshots(true) -# Remove the '#' to set the status bar to 9:41 AM, and show full battery and reception. See also override_status_bar_arguments for custom options. +# Remove the '#' to set the status bar to 9:41 AM, and show full battery and reception. override_status_bar(true) -# Arguments to pass to the app on launch. See https://docs.fastlane.tools/actions/snapshot/#launch-arguments -# launch_arguments(["-favColor red"]) - -# Enabling this option will configure the Simulator's system language -localize_simulator(true) - # For more information about all available options run # fastlane action snapshot diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/de-DE/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/de-DE/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Währungsumrechner in Echtzeit \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/en-GB/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/en-GB/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Real-time currency converter \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/en-US/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/en-US/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Real-time currency converter \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/es-ES/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/es-ES/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Conversor de divisas \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/fr-FR/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/fr-FR/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Convertisseur de devises \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/description.txt --- a/fastlane/metadata/it-IT/description.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -Simoleon è un convertitore di valuta in tempo reale con oltre 170 valute globali e 2000 coppie di valute supportate. La facilità d'uso e il tasso di cambio reale lo rendono l'app perfetta per i viaggiatori che vogliono sapere quanto vale la loro valuta in ogni momento. - -- 170 valute globali, criptovalute come Bitcoin, Ethereum e Dash, e materie prime come oro, argento e platino. -- Quotazioni direttamente dai trading floor europei. -- Seleziona la tua coppia di valute predefinita e salva le tue valute preferite. -- Simoleon è sincronizzato su tutti i tuoi dispositivi. -- Interfaccia semplice e veloce. - -Informativa sulla privacy: https://dennistech.io/simoleon-privacy-policy -Termini di utilizzo: https://dennistech.io/simoleon-terms-of-use \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/keywords.txt --- a/fastlane/metadata/it-IT/keywords.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -valuta, forex, convertitore, soldi, euro, dollaro, yen, viaggio, scambio, mercati, finanza \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/marketing_url.txt --- a/fastlane/metadata/it-IT/marketing_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/apps/simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/name.txt --- a/fastlane/metadata/it-IT/name.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -Simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/privacy_url.txt --- a/fastlane/metadata/it-IT/privacy_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/simoleon-privacy-policy \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/release_notes.txt --- a/fastlane/metadata/it-IT/release_notes.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -Ciao a tutti! Questo è un grande aggiornamento, speriamo che vi piaccia: -- Simoleon è disponibile in spagnolo, tedesco, francese, italiano, olandese, portoghese e russo. Se noti una traduzione sbagliata o strana, contattaci: https://dennistech.io/contact -- Implementati gli acquisti promozionali In-App. -- Ora, è possibile utilizzare Simoleon per convertire tra le coppie di valute più popolari gratuitamente. -- Aggiornamenti dell'interfaccia utente. -- Correzione di bug. \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it-IT/support_url.txt --- a/fastlane/metadata/it-IT/support_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/contact \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/description.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/description.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,10 @@ +Simoleon è un convertitore di valuta in tempo reale con oltre 170 valute globali e 2000 coppie di valute supportate. La facilità d'uso e il tasso di cambio reale lo rendono l'app perfetta per i viaggiatori che vogliono sapere quanto vale la loro valuta in ogni momento. + +- 170 valute globali, criptovalute come Bitcoin, Ethereum e Dash, e materie prime come oro, argento e platino. +- Quotazioni direttamente dai trading floor europei. +- Seleziona la tua coppia di valute predefinita e salva le tue valute preferite. +- Simoleon è sincronizzato su tutti i tuoi dispositivi. +- Interfaccia semplice e veloce. + +Informativa sulla privacy: https://dennistech.io/simoleon-privacy-policy +Termini di utilizzo: https://dennistech.io/simoleon-terms-of-use \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/keywords.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/keywords.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +valuta, forex, convertitore, soldi, euro, dollaro, yen, viaggio, scambio, mercati, finanza \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/marketing_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/marketing_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/apps/simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/name.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/name.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/privacy_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/privacy_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/simoleon-privacy-policy \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/release_notes.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/release_notes.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,6 @@ +Ciao a tutti! Questo è un grande aggiornamento, speriamo che vi piaccia: +- Simoleon è disponibile in spagnolo, tedesco, francese, italiano, olandese, portoghese e russo. Se noti una traduzione sbagliata o strana, contattaci: https://dennistech.io/contact +- Implementati gli acquisti promozionali In-App. +- Ora, è possibile utilizzare Simoleon per convertire tra le coppie di valute più popolari gratuitamente. +- Aggiornamenti dell'interfaccia utente. +- Correzione di bug. \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Convertitore di valuta \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/it/support_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/it/support_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/contact \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/nl-NL/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/nl-NL/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Realtime valutacalculator \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/pt-PT/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/pt-PT/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Conversor de moeda \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/description.txt --- a/fastlane/metadata/ru-RU/description.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -Simoleon - это конвертер валют в реальном времени с поддержкой более 170 мировых валют и 2000 валютных пар. Простота использования и реальный обменный курс делают это приложение идеальным для путешественников, которые хотят знать, сколько стоит их валюта в каждый момент времени. - -- 170 мировых валют, криптовалюты, такие как Bitcoin, Ethereum и Dash, и сырьевые товары, такие как золото, серебро и платина. -- Котировки прямо с европейских торговых площадок. -- Выберите валютную пару по умолчанию и сохраните любимые валюты. -- Simoleon синхронизируется на всех ваших устройствах. -- Быстрый и простой интерфейс. - -Политика конфиденциальности: https://dennistech.io/simoleon-privacy-policy -Условия использования: https://dennistech.io/simoleon-terms-of-use \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/keywords.txt --- a/fastlane/metadata/ru-RU/keywords.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -валюта,форекс,конвертер,деньги,евро,доллар,йена,путешествия,обмен,рынки,финансы \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/marketing_url.txt --- a/fastlane/metadata/ru-RU/marketing_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/apps/simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/name.txt --- a/fastlane/metadata/ru-RU/name.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -Simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/privacy_url.txt --- a/fastlane/metadata/ru-RU/privacy_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/simoleon-privacy-policy \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/release_notes.txt --- a/fastlane/metadata/ru-RU/release_notes.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -Привет! Это большое обновление, мы надеемся, что оно вам понравится: -- Simoleon доступен на испанском, немецком, французском, итальянском, голландском, португальском и русском языках. Если вы заметили неправильный или странный перевод, пожалуйста, свяжитесь с нами: https://dennistech.io/contact. -- Внедрены рекламные покупки In-App. -- Теперь вы можете использовать Simoleon для конвертации между самыми популярными валютными парами бесплатно. -- Обновления пользовательского интерфейса. -- Исправлены ошибки. \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru-RU/support_url.txt --- a/fastlane/metadata/ru-RU/support_url.txt Tue Aug 03 18:54:55 2021 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -https://dennistech.io/contact \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/description.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/description.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,10 @@ +Simoleon - это конвертер валют в реальном времени с поддержкой более 170 мировых валют и 2000 валютных пар. Простота использования и реальный обменный курс делают это приложение идеальным для путешественников, которые хотят знать, сколько стоит их валюта в каждый момент времени. + +- 170 мировых валют, криптовалюты, такие как Bitcoin, Ethereum и Dash, и сырьевые товары, такие как золото, серебро и платина. +- Котировки прямо с европейских торговых площадок. +- Выберите валютную пару по умолчанию и сохраните любимые валюты. +- Simoleon синхронизируется на всех ваших устройствах. +- Быстрый и простой интерфейс. + +Политика конфиденциальности: https://dennistech.io/simoleon-privacy-policy +Условия использования: https://dennistech.io/simoleon-terms-of-use \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/keywords.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/keywords.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +валюта,форекс,конвертер,деньги,евро,доллар,йена,путешествия,обмен,рынки,финансы \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/marketing_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/marketing_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/apps/simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/name.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/name.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Simoleon \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/privacy_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/privacy_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/simoleon-privacy-policy \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/release_notes.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/release_notes.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,6 @@ +Привет! Это большое обновление, мы надеемся, что оно вам понравится: +- Simoleon доступен на испанском, немецком, французском, итальянском, голландском, португальском и русском языках. Если вы заметили неправильный или странный перевод, пожалуйста, свяжитесь с нами: https://dennistech.io/contact. +- Внедрены рекламные покупки In-App. +- Теперь вы можете использовать Simoleon для конвертации между самыми популярными валютными парами бесплатно. +- Обновления пользовательского интерфейса. +- Исправлены ошибки. \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/subtitle.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/subtitle.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Конвертер валют \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/metadata/ru/support_url.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/metadata/ru/support_url.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +https://dennistech.io/contact \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/review_information/email_address.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/review_information/email_address.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +dmartin@dennistech.io \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/review_information/first_name.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/review_information/first_name.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Dennis \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/review_information/last_name.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/review_information/last_name.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ +Concepcion Martin \ No newline at end of file diff -r dd4d99fa8966 -r 887ea63452b5 fastlane/review_information/phone_number.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fastlane/review_information/phone_number.txt Thu Aug 05 09:45:48 2021 +0100 @@ -0,0 +1,1 @@ ++34 639 465 931 \ No newline at end of file