Skip to content

Commit

Permalink
Paywalls: fixed iOS 12 build (#3104)
Browse files Browse the repository at this point in the history
  • Loading branch information
NachoSoto committed Sep 7, 2023
1 parent 9b20c71 commit 494a77b
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 10 deletions.
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ aliases:
branches:
only:
- main
- paywalls
- /^release\/.*/
only-main-branch: &only-main-branch
filters:
Expand Down
4 changes: 4 additions & 0 deletions RevenueCat.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@
4F54DF402A1D8C7500FD72BF /* MockStoreKit2TransactionFetcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F54DF3E2A1D8C7500FD72BF /* MockStoreKit2TransactionFetcher.swift */; };
4F54DF422A1D8D0700FD72BF /* MockTransactionPoster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F54DF412A1D8D0700FD72BF /* MockTransactionPoster.swift */; };
4F54DF432A1D8D0700FD72BF /* MockTransactionPoster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F54DF412A1D8D0700FD72BF /* MockTransactionPoster.swift */; };
4F5A62AC2A9AD18E0096067E /* SwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F5A62AB2A9AD18E0096067E /* SwiftUI.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
4F5C05BD2A43A21A00651C7D /* Locale+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F5C05BC2A43A21A00651C7D /* Locale+Extensions.swift */; };
4F5C05BF2A43A2C500651C7D /* LocaleExtensionsTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4F5C05BE2A43A2C500651C7D /* LocaleExtensionsTests.swift */; };
4F5D52D92A5713A800E1C758 /* DebugViewSwiftUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4FCEEA602A379CF9002C2112 /* DebugViewSwiftUITests.swift */; };
Expand Down Expand Up @@ -985,6 +986,7 @@
4F4FF3E02A3B731A0028018C /* ETagStrings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ETagStrings.swift; sourceTree = "<group>"; };
4F54DF3E2A1D8C7500FD72BF /* MockStoreKit2TransactionFetcher.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockStoreKit2TransactionFetcher.swift; sourceTree = "<group>"; };
4F54DF412A1D8D0700FD72BF /* MockTransactionPoster.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockTransactionPoster.swift; sourceTree = "<group>"; };
4F5A62AB2A9AD18E0096067E /* SwiftUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SwiftUI.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk/System/iOSSupport/System/Library/Frameworks/SwiftUI.framework; sourceTree = DEVELOPER_DIR; };
4F5C05BC2A43A21A00651C7D /* Locale+Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Locale+Extensions.swift"; sourceTree = "<group>"; };
4F5C05BE2A43A2C500651C7D /* LocaleExtensionsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocaleExtensionsTests.swift; sourceTree = "<group>"; };
4F5F47072AA91F8A005649D8 /* HealthOperation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HealthOperation.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1392,6 +1394,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
4F5A62AC2A9AD18E0096067E /* SwiftUI.framework in Frameworks */,
A5B6CDD8280F3843007629D5 /* AdServices.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
Expand Down Expand Up @@ -1992,6 +1995,7 @@
357C9BC022725CFA006BC624 /* iAd.framework */,
350A1B84226E3E8700CCA10F /* AppKit.framework */,
3530C18822653E8F00D6DF52 /* AdSupport.framework */,
4F5A62AB2A9AD18E0096067E /* SwiftUI.framework */,
33FFC8744F2BAE7BD8889A4C /* Pods_RevenueCat.framework */,
84C3F1AC1D7E1E64341D3936 /* Pods_RevenueCat_PurchasesTests.framework */,
);
Expand Down
16 changes: 9 additions & 7 deletions Sources/Paywalls/PaywallColor.swift
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,14 @@ extension PaywallColor {

private extension PaywallColor {

#if canImport(SwiftUI) && swift(>=5.7)
#if canImport(SwiftUI)

@available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
init(stringRepresentation: String, color: Color) {
self.init(stringRepresentation: stringRepresentation, underlyingColor: color)
}

#endif
#if swift(>=5.7)
@available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
init(stringRepresentation: String, color: Color) {
self.init(stringRepresentation: stringRepresentation, underlyingColor: color)
}
#endif

@available(iOS 13.0, tvOS 13.0, macOS 10.15, watchOS 6.2, *)
static func parseColor(_ input: String) throws -> Color {
Expand Down Expand Up @@ -137,6 +137,8 @@ private extension PaywallColor {
}
}

#endif

/// "Designated" initializer
private init(stringRepresentation: String, underlyingColor: (any Sendable)?) {
self.stringRepresentation = stringRepresentation
Expand Down
4 changes: 2 additions & 2 deletions Tests/StoreKitUnitTests/TestHelpers/ImageSnapshot.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
//
// Created by Nacho Soto on 6/12/23.

#if swift(>=5.8)

import Foundation
import Nimble
import SnapshotTesting
import SwiftUI

#if swift(>=5.8)

/// - Parameter separateOSVersions: pass `true` if you want to generate separate snapshots for each version.
func haveValidSnapshot<Value>(
as strategy: Snapshotting<Value, some Any>,
Expand Down
5 changes: 4 additions & 1 deletion Tests/UnitTests/Paywalls/PaywallDataTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,10 @@ class PaywallDataTests: BaseHTTPResponseTest {
expect(localization.title) == "Tienda"
}

func testEncodePaywallViewMode() {
func testEncodePaywallViewMode() throws {
// iOS 12 does not allow decoding fragments (top-level objects)
try AvailabilityChecks.iOS13APIAvailableOrSkipTest()

for mode in PaywallViewMode.allCases {
expect(try mode.encodeAndDecode()) == mode
}
Expand Down
3 changes: 3 additions & 0 deletions Tests/UnitTests/TestHelpers/SnapshotTesting+Extensions.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@
import Foundation
import Nimble
import SnapshotTesting

#if swift(>=5.8) && canImport(SwiftUI)
import SwiftUI
#endif

@testable import RevenueCat

Expand Down

0 comments on commit 494a77b

Please sign in to comment.