diff --git a/.circleci/config.yml b/.circleci/config.yml index cd9aa397f2..87c788a016 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -63,7 +63,9 @@ commands: command: gem install xcode-install - run: name: Install simulator - command: xcversion simulators --install="<< parameters.install-name >>" + command: | # Print all available simulators and install required one + xcversion simulators + xcversion simulators --install="<< parameters.install-name >>" - run: name: Create simulator command: xcrun simctl create '<< parameters.sim-name >>' com.apple.CoreSimulator.SimDeviceType.<< parameters.sim-device-type >> com.apple.CoreSimulator.SimRuntime.<< parameters.sim-device-runtime >> @@ -235,7 +237,7 @@ jobs: command: bundle exec fastlane test_ios no_output_timeout: 30m environment: - SCAN_DEVICE: iPhone 13 (16.0) + SCAN_DEVICE: iPhone 14 (16.0) - compress_result_bundle: directory: fastlane/test_output/xctest/ios bundle_name: RevenueCat @@ -571,7 +573,8 @@ workflows: - run-test-tvos: xcode_version: '14.0.0' - run-test-ios-14: - xcode_version: '14.0.0' + # Simulator fails to install on Xcode 14 + xcode_version: '13.4.1' - run-test-ios-13: # Simulator fails to install on Xcode 14 xcode_version: '13.4.1' diff --git a/RevenueCat.xcodeproj/project.pbxproj b/RevenueCat.xcodeproj/project.pbxproj index a3847a3b54..866506fcf9 100644 --- a/RevenueCat.xcodeproj/project.pbxproj +++ b/RevenueCat.xcodeproj/project.pbxproj @@ -120,9 +120,7 @@ 2DE61A84264190830021CEA0 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DE61A83264190830021CEA0 /* Constants.swift */; }; 2DEAC2DD26EFE46E006914ED /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEAC2DC26EFE46E006914ED /* AppDelegate.swift */; }; 2DEAC2E126EFE46E006914ED /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2DEAC2E026EFE46E006914ED /* ViewController.swift */; }; - 2DEAC2E426EFE46E006914ED /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2DEAC2E226EFE46E006914ED /* Main.storyboard */; }; 2DEAC2E626EFE470006914ED /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 2DEAC2E526EFE470006914ED /* Assets.xcassets */; }; - 2DEAC2E926EFE470006914ED /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 2DEAC2E726EFE470006914ED /* LaunchScreen.storyboard */; }; 2DFF6C56270CA28800ECAFAB /* MockRequestFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351B517926D44FF000BD2BD7 /* MockRequestFetcher.swift */; }; 351B513D26D4491E00BD2BD7 /* MockDeviceCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351B513C26D4491E00BD2BD7 /* MockDeviceCache.swift */; }; 351B513F26D4496000BD2BD7 /* MockIdentityManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 351B513E26D4496000BD2BD7 /* MockIdentityManager.swift */; }; @@ -616,9 +614,7 @@ 2DEAC2DA26EFE46E006914ED /* UnitTestsHostApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UnitTestsHostApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; 2DEAC2DC26EFE46E006914ED /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 2DEAC2E026EFE46E006914ED /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 2DEAC2E326EFE46E006914ED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 2DEAC2E526EFE470006914ED /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 2DEAC2E826EFE470006914ED /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 2DEAC2EA26EFE470006914ED /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 2DEC0CFB24A2A1B100B0E5BB /* Package.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Package.swift; sourceTree = SOURCE_ROOT; }; 33FFC8744F2BAE7BD8889A4C /* Pods_RevenueCat.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RevenueCat.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1434,9 +1430,7 @@ children = ( 2DEAC2DC26EFE46E006914ED /* AppDelegate.swift */, 2DEAC2E026EFE46E006914ED /* ViewController.swift */, - 2DEAC2E226EFE46E006914ED /* Main.storyboard */, 2DEAC2E526EFE470006914ED /* Assets.xcassets */, - 2DEAC2E726EFE470006914ED /* LaunchScreen.storyboard */, 2DEAC2EA26EFE470006914ED /* Info.plist */, ); path = UnitTestsHostApp; @@ -2242,10 +2236,8 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2DEAC2E926EFE470006914ED /* LaunchScreen.storyboard in Resources */, 2D735F7E26EFF198004E82A7 /* UnitTestsConfiguration.storekit in Resources */, 2DEAC2E626EFE470006914ED /* Assets.xcassets in Resources */, - 2DEAC2E426EFE46E006914ED /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2787,25 +2779,6 @@ }; /* End PBXTargetDependency section */ -/* Begin PBXVariantGroup section */ - 2DEAC2E226EFE46E006914ED /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2DEAC2E326EFE46E006914ED /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 2DEAC2E726EFE470006914ED /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 2DEAC2E826EFE470006914ED /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - /* Begin XCBuildConfiguration section */ 2DAC5F7926F13C9800C5258F /* Debug */ = { isa = XCBuildConfiguration; @@ -2827,11 +2800,12 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.revenuecat.StoreKitUnitTests; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos watchsimulator watchos appletvsimulator appletvos"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_TREAT_WARNINGS_AS_ERRORS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UnitTestsHostApp.app/UnitTestsHostApp"; }; name = Debug; @@ -2855,10 +2829,11 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.revenuecat.StoreKitUnitTests; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos watchsimulator watchos appletvsimulator appletvos"; SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_TREAT_WARNINGS_AS_ERRORS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/UnitTestsHostApp.app/UnitTestsHostApp"; }; name = Release; @@ -3118,9 +3093,10 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.revenuecat.StoreKitUnitTestsHostApp; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos watchsimulator watchos appletvsimulator appletvos"; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; }; name = Debug; }; @@ -3140,8 +3116,9 @@ MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = com.revenuecat.StoreKitUnitTestsHostApp; PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTED_PLATFORMS = "macosx iphonesimulator iphoneos watchsimulator watchos appletvsimulator appletvos"; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4,6"; }; name = Release; }; diff --git a/Sources/Logging/Strings/PurchaseStrings.swift b/Sources/Logging/Strings/PurchaseStrings.swift index 97b3a507c4..afb4f1b199 100644 --- a/Sources/Logging/Strings/PurchaseStrings.swift +++ b/Sources/Logging/Strings/PurchaseStrings.swift @@ -55,7 +55,6 @@ enum PurchaseStrings { case product_unpurchased_or_missing case transaction_unverified(productID: String, errorMessage: String) case unknown_purchase_result(result: String) - case begin_refund_request_unsupported case begin_refund_no_entitlement_found(entitlementID: String?) case begin_refund_no_active_entitlement case begin_refund_multiple_active_entitlements @@ -220,8 +219,6 @@ extension PurchaseStrings: CustomStringConvertible { "Verification error: \(errorMessage)" case let .unknown_purchase_result(result): return "Received unknown purchase result: \(result)" - case .begin_refund_request_unsupported: - return "Tried to call beginRefundRequest in a platform that doesn't support it!" case .begin_refund_no_entitlement_found(let entitlementID): return "Could not find \(entitlementID.flatMap { "entitlement with ID " + $0 } ?? "active entitlement")" + " for refund." diff --git a/Tests/APITesters/ObjCAPITester/ObjCAPITester.xcodeproj/project.pbxproj b/Tests/APITesters/ObjCAPITester/ObjCAPITester.xcodeproj/project.pbxproj index a4f79a34e0..862ed8b92c 100644 --- a/Tests/APITesters/ObjCAPITester/ObjCAPITester.xcodeproj/project.pbxproj +++ b/Tests/APITesters/ObjCAPITester/ObjCAPITester.xcodeproj/project.pbxproj @@ -3,11 +3,11 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ - 2C396F5E281C64B700669657 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C396F5D281C64B700669657 /* AdServices.framework */; }; + 2C396F5E281C64B700669657 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C396F5D281C64B700669657 /* AdServices.framework */; platformFilters = (ios, maccatalyst, macos, ); }; 2DD77909270E23870079CBD4 /* RCAttributionNetworkAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = A5D614EC26EBE84F007DDB75 /* RCAttributionNetworkAPI.m */; }; 2DD7790B270E23870079CBD4 /* RCCustomerInfoAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = A5D614F026EBE84F007DDB75 /* RCCustomerInfoAPI.m */; }; 2DD7790C270E23870079CBD4 /* RCPurchasesErrorCodeAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = A5D614EE26EBE84F007DDB75 /* RCPurchasesErrorCodeAPI.m */; }; diff --git a/Tests/APITesters/SwiftAPITester/SwiftAPITester.xcodeproj/project.pbxproj b/Tests/APITesters/SwiftAPITester/SwiftAPITester.xcodeproj/project.pbxproj index cd4fef303f..faa40dd8d7 100644 --- a/Tests/APITesters/SwiftAPITester/SwiftAPITester.xcodeproj/project.pbxproj +++ b/Tests/APITesters/SwiftAPITester/SwiftAPITester.xcodeproj/project.pbxproj @@ -3,11 +3,11 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ - 2C396F5C281C64AF00669657 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C396F5B281C64AF00669657 /* AdServices.framework */; }; + 2C396F5C281C64AF00669657 /* AdServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C396F5B281C64AF00669657 /* AdServices.framework */; platformFilters = (ios, maccatalyst, macos, ); }; 2DD778E4270E23460079CBD4 /* AttributionNetworkAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D614CA26EBE7EA007DDB75 /* AttributionNetworkAPI.swift */; }; 2DD778E5270E23460079CBD4 /* IntroEligibilityAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D614CD26EBE7EA007DDB75 /* IntroEligibilityAPI.swift */; }; 2DD778E6270E23460079CBD4 /* PurchasesAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5D614CE26EBE7EA007DDB75 /* PurchasesAPI.swift */; }; diff --git a/Tests/APITesters/SwiftAPITester/SwiftAPITester/AttributionAPI.swift b/Tests/APITesters/SwiftAPITester/SwiftAPITester/AttributionAPI.swift index 8a6c6f4d7b..c1cdecdddf 100644 --- a/Tests/APITesters/SwiftAPITester/SwiftAPITester/AttributionAPI.swift +++ b/Tests/APITesters/SwiftAPITester/SwiftAPITester/AttributionAPI.swift @@ -72,5 +72,7 @@ func checkAttributionAPI() { attribution.collectDeviceIdentifiers() + #if !os(tvOS) attribution.enableAdServicesAttributionTokenCollection() + #endif } diff --git a/Tests/StoreKitUnitTests/BeginRefundRequestHelperTests.swift b/Tests/StoreKitUnitTests/BeginRefundRequestHelperTests.swift index 2c64b5c14c..b869a2a524 100644 --- a/Tests/StoreKitUnitTests/BeginRefundRequestHelperTests.swift +++ b/Tests/StoreKitUnitTests/BeginRefundRequestHelperTests.swift @@ -18,6 +18,8 @@ import XCTest @testable import RevenueCat +#if os(iOS) || targetEnvironment(macCatalyst) + class BeginRefundRequestHelperTests: TestCase { private var systemInfo: MockSystemInfo! @@ -60,37 +62,6 @@ class BeginRefundRequestHelperTests: TestCase { } } - func testBeginRefundRequestForProductFatalErrorIfNotIosOrCatalyst() throws { - #if os(watchOS) || os(macOS) || os(tvOS) - expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { - _ = try await helper.beginRefundRequest(forProduct: mockProductID) - } - #else - throw XCTSkip("beginRefundRequestForProduct is not available for this test.") - #endif - } - - func testBeginRefundRequestForEntitlementFatalErrorIfNotIosOrCatalyst() throws { - #if os(watchOS) || os(macOS) || os(tvOS) - expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { - _ = try await helper.beginRefundRequest(forEntitlement: mockEntitlementID) - } - #else - throw XCTSkip("beginRefundRequestForEntitlement is not available for this test.") - #endif - } - - func testBeginRefundRequestForActiveEntitlementFatalErrorIfNotIosOrCatalyst() throws { - #if os(watchOS) || os(macOS) || os(tvOS) - expectFatalError(expectedMessage: Strings.purchase.begin_refund_request_unsupported.description) { - _ = try await helper.beginRefundRequestforActiveEntitlement() - } - #else - throw XCTSkip("beginRefundRequestForEntitlement is not available for this test.") - #endif - } - -#if os(iOS) @available(iOS 15.0, macCatalyst 15.0, *) func testBeginRefundRequestFailsAndPassesErrorThroughIfPurchasesUnverified() async throws { try AvailabilityChecks.iOS15APIAvailableOrSkipTest() @@ -250,7 +221,6 @@ class BeginRefundRequestHelperTests: TestCase { expect(error.localizedDescription) == expectedError.localizedDescription } } -#endif } @@ -347,3 +317,5 @@ private extension BeginRefundRequestHelperTests { } } + +#endif diff --git a/Tests/StoreKitUnitTests/PurchasesOrchestratorTests.swift b/Tests/StoreKitUnitTests/PurchasesOrchestratorTests.swift index b4dd610ad6..f5ad2f7a95 100644 --- a/Tests/StoreKitUnitTests/PurchasesOrchestratorTests.swift +++ b/Tests/StoreKitUnitTests/PurchasesOrchestratorTests.swift @@ -545,6 +545,10 @@ class PurchasesOrchestratorTests: StoreKitConfigTestCase { expect(transactionListener.invokedListenForTransactionsCount) == 1 } + #if os(iOS) || targetEnvironment(macCatalyst) + + @available(watchOS, unavailable) + @available(tvOS, unavailable) func testShowManageSubscriptionsCallsCompletionWithErrorIfThereIsAFailure() { let message = "Failed to get managementURL from CustomerInfo. Details: customerInfo is nil." mockManageSubsHelper.mockError = ErrorUtils.customerInfoError(withMessage: message) @@ -646,6 +650,8 @@ class PurchasesOrchestratorTests: StoreKitConfigTestCase { } } + #endif + func testRestorePurchasesDoesNotLogWarningIfAllowSharingAppStoreAccountIsNotDefined() async throws { let logger = TestLogHandler() diff --git a/Tests/UnitTests/Mocks/MockSK2BeginRefundRequestHelper.swift b/Tests/UnitTests/Mocks/MockSK2BeginRefundRequestHelper.swift index db3ec0f259..99088ef017 100644 --- a/Tests/UnitTests/Mocks/MockSK2BeginRefundRequestHelper.swift +++ b/Tests/UnitTests/Mocks/MockSK2BeginRefundRequestHelper.swift @@ -15,6 +15,8 @@ import Foundation @testable import RevenueCat import StoreKit +#if os(iOS) || targetEnvironment(macCatalyst) + @available(iOS 15.0, macCatalyst 15.0, *) @available(watchOS, unavailable) @available(tvOS, unavailable) @@ -63,3 +65,5 @@ class MockSK2BeginRefundRequestHelper: SK2BeginRefundRequestHelper { } } + +#endif diff --git a/Tests/UnitTests/Purchasing/Purchases/PurchasesAttributionDataTests.swift b/Tests/UnitTests/Purchasing/Purchases/PurchasesAttributionDataTests.swift index 68b3382d72..c75e37f219 100644 --- a/Tests/UnitTests/Purchasing/Purchases/PurchasesAttributionDataTests.swift +++ b/Tests/UnitTests/Purchasing/Purchases/PurchasesAttributionDataTests.swift @@ -119,6 +119,8 @@ class PurchasesAttributionDataTests: BasePurchasesTests { expect(invokedMethodParams.appUserID) == identityManager.currentAppUserID } + #if !os(tvOS) + @available(*, deprecated) func testAdClientAttributionDataIsAutomaticallyCollected() throws { self.setupPurchases(automaticCollection: true) @@ -132,11 +134,6 @@ class PurchasesAttributionDataTests: BasePurchasesTests { expect(obtainedVersionData["iad-campaign-id"]).toNot(beNil()) } - func testAdClientAttributionDataIsNotAutomaticallyCollectedIfDisabled() { - self.setupPurchases(automaticCollection: false) - expect(self.backend.invokedPostAttributionDataParameters).to(beNil()) - } - func testAttributionDataPostponesMultiple() { let data = ["yo": "dog", "what": 45, "is": ["up"]] as [String: Any] @@ -148,4 +145,11 @@ class PurchasesAttributionDataTests: BasePurchasesTests { expect(self.subscriberAttributesManager.invokedConvertAttributionDataAndSetParametersList).to(haveCount(1)) } + #endif + + func testAdClientAttributionDataIsNotAutomaticallyCollectedIfDisabled() { + self.setupPurchases(automaticCollection: false) + expect(self.backend.invokedPostAttributionDataParameters).to(beNil()) + } + } diff --git a/Tests/UnitTests/Purchasing/StoreKitAbstractions/SubscriptionPeriodTests.swift b/Tests/UnitTests/Purchasing/StoreKitAbstractions/SubscriptionPeriodTests.swift index 7e4f93380b..2bb7fc4632 100644 --- a/Tests/UnitTests/Purchasing/StoreKitAbstractions/SubscriptionPeriodTests.swift +++ b/Tests/UnitTests/Purchasing/StoreKitAbstractions/SubscriptionPeriodTests.swift @@ -112,7 +112,7 @@ class SubscriptionPeriodTests: TestCase { /// Necessary since SKProductSubscriptionPeriod.debugDescription & SKProductSubscriptionPeriod.description /// return the object's address in memory. - @available(iOS 11.2, *) + @available(iOS 11.2, macOS 10.13.2, tvOS 11.2, watchOS 6.2, *) private func description(for skProductSubscriptionPeriod: SKProductSubscriptionPeriod) -> String { let periodUnit: String diff --git a/Tests/UnitTestsHostApp/AppDelegate.swift b/Tests/UnitTestsHostApp/AppDelegate.swift index c71d067a01..362cf6bc89 100644 --- a/Tests/UnitTestsHostApp/AppDelegate.swift +++ b/Tests/UnitTestsHostApp/AppDelegate.swift @@ -14,31 +14,4 @@ import UIKit @main -class AppDelegate: UIResponder, UIApplicationDelegate { - - func application(_ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - - // MARK: UISceneSession Lifecycle - - @available(iOS 13.0, *) - func application(_ application: UIApplication, - configurationForConnecting connectingSceneSession: UISceneSession, - options: UIScene.ConnectionOptions) -> UISceneConfiguration { - // Called when a new scene session is being created. - // Use this method to select a configuration to create the new scene with. - return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) - } - - @available(iOS 13.0, *) - func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { - // Called when the user discards a scene session. - // If any sessions were discarded while the application was not running, this will be called shortly after - // application:didFinishLaunchingWithOptions. - // Use this method to release any resources that were specific to the discarded scenes, as they will not return. - } - -} +class AppDelegate: UIResponder, UIApplicationDelegate {} diff --git a/Tests/UnitTestsHostApp/Base.lproj/LaunchScreen.storyboard b/Tests/UnitTestsHostApp/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 865e9329f3..0000000000 --- a/Tests/UnitTestsHostApp/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Tests/UnitTestsHostApp/Base.lproj/Main.storyboard b/Tests/UnitTestsHostApp/Base.lproj/Main.storyboard deleted file mode 100644 index 25a763858e..0000000000 --- a/Tests/UnitTestsHostApp/Base.lproj/Main.storyboard +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Tests/UnitTestsHostApp/Info.plist b/Tests/UnitTestsHostApp/Info.plist index 65560ad608..4cebbb7494 100644 --- a/Tests/UnitTestsHostApp/Info.plist +++ b/Tests/UnitTestsHostApp/Info.plist @@ -22,31 +22,8 @@ 1 LSRequiresIPhoneOS - UIApplicationSceneManifest - - UIApplicationSupportsMultipleScenes - - UISceneConfigurations - - UIWindowSceneSessionRoleApplication - - - UISceneConfigurationName - Default Configuration - UISceneDelegateClassName - $(PRODUCT_MODULE_NAME).SceneDelegate - UISceneStoryboardFile - Main - - - - UIApplicationSupportsIndirectInputEvents - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main UIRequiredDeviceCapabilities armv7 diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 3411dfb31b..f1ef792c05 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -121,6 +121,7 @@ platform :ios do scan( step_name: "scan - iPhone", device: ENV['SCAN_DEVICE'] || "iPhone 12 (15.2)", + ensure_devices_found: true, scheme: "RevenueCat", prelaunch_simulator: true, output_types: 'junit', @@ -135,7 +136,8 @@ platform :ios do lane :test_tvos do |options| scan( step_name: "scan - Apple TV", - device: ENV['SCAN_DEVICE'] || "Apple TV (15.2)", + device: ENV['SCAN_DEVICE'] || "Apple TV", + ensure_devices_found: true, scheme: "RevenueCat", prelaunch_simulator: true, output_types: 'junit',