diff --git a/CHANGELOG.md b/CHANGELOG.md index 1187f2e8df..9acd565130 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ The changelog for `SuperwallKit`. Also see the [releases](https://github.com/superwall/Superwall-iOS/releases) on GitHub. +## 4.16.1 + +### Enhancements + +- Clarifies that `IntegrationAttribute.onesignalId` should be set to the OneSignal User ID used by the OneSignal integration. + +### Fixes + +- Makes sure that the compiler directive is correct for billing plan types so that the SDK builds in Xcode version 26.4. + ## 4.16.0 ### Enhancements diff --git a/Sources/SuperwallKit/Analytics/Attribution/IntegrationAttribute.swift b/Sources/SuperwallKit/Analytics/Attribution/IntegrationAttribute.swift index 29603c987c..d0a713f32a 100644 --- a/Sources/SuperwallKit/Analytics/Attribution/IntegrationAttribute.swift +++ b/Sources/SuperwallKit/Analytics/Attribution/IntegrationAttribute.swift @@ -26,7 +26,7 @@ public enum IntegrationAttribute: Int { /// The Braze `alias_label` in User Alias Object. case brazeAliasLabel - /// The OneSignal Player identifier for the user. + /// The OneSignal User ID (`onesignal_id`) for the user. case onesignalId /// The Facebook Anonymous identifier for the user. diff --git a/Sources/SuperwallKit/Misc/Constants.swift b/Sources/SuperwallKit/Misc/Constants.swift index 5338fe7359..e38ade56b0 100644 --- a/Sources/SuperwallKit/Misc/Constants.swift +++ b/Sources/SuperwallKit/Misc/Constants.swift @@ -18,5 +18,5 @@ let sdkVersion = """ */ let sdkVersion = """ -4.16.0 +4.16.1 """ diff --git a/Sources/SuperwallKit/Network/Device Helper/SwiftVersion.swift b/Sources/SuperwallKit/Network/Device Helper/SwiftVersion.swift index b8b16685d7..89a92fb2cc 100644 --- a/Sources/SuperwallKit/Network/Device Helper/SwiftVersion.swift +++ b/Sources/SuperwallKit/Network/Device Helper/SwiftVersion.swift @@ -110,7 +110,13 @@ extension DeviceHelper { } func currentCompilerVersion() -> String { - #if compiler(>=6.3) + #if compiler(>=6.4) + return "6.4" + #elseif compiler(>=6.3.3) + return "6.3.3" + #elseif compiler(>=6.3.2) + return "6.3.2" + #elseif compiler(>=6.3) return "6.3" #elseif compiler(>=6.2.4) return "6.2.4" diff --git a/Sources/SuperwallKit/StoreKit/Products/StoreProduct/SK2StoreProduct.swift b/Sources/SuperwallKit/StoreKit/Products/StoreProduct/SK2StoreProduct.swift index 2480c66d8b..058c97f0f5 100644 --- a/Sources/SuperwallKit/StoreKit/Products/StoreProduct/SK2StoreProduct.swift +++ b/Sources/SuperwallKit/StoreKit/Products/StoreProduct/SK2StoreProduct.swift @@ -43,7 +43,7 @@ struct SK2StoreProduct: StoreProductType { self.entitlements = entitlements self.billingPlanType = billingPlanType - #if compiler(>=6.3) + #if compiler(>=6.3.2) if #available(iOS 26.4, macOS 26.4, tvOS 26.4, watchOS 26.4, visionOS 26.4, *), let term = Self.findPricingTerm(for: billingPlanType, in: sk2Product) { // Use the commitment *period* (= year for an annual MONTHLY product) @@ -240,7 +240,7 @@ struct SK2StoreProduct: StoreProductType { return underlyingSK2Product.subscription?.introductoryOffer } - #if compiler(>=6.3) + #if compiler(>=6.3.2) @available(iOS 26.4, macOS 26.4, tvOS 26.4, watchOS 26.4, visionOS 26.4, *) private static func findPricingTerm( for billingPlanType: AppStoreProduct.BillingPlanType?, diff --git a/Sources/SuperwallKit/StoreKit/Transactions/Purchasing/StoreKit 2/ProductPurchaserSK2.swift b/Sources/SuperwallKit/StoreKit/Transactions/Purchasing/StoreKit 2/ProductPurchaserSK2.swift index dd6174cc90..7b584ec896 100644 --- a/Sources/SuperwallKit/StoreKit/Transactions/Purchasing/StoreKit 2/ProductPurchaserSK2.swift +++ b/Sources/SuperwallKit/StoreKit/Transactions/Purchasing/StoreKit 2/ProductPurchaserSK2.swift @@ -101,10 +101,7 @@ final class ProductPurchaserSK2: Purchasing { } #endif - #if compiler(>=6.3) - // Apply the configured Apple billing plan (iOS 26+). If the runtime is - // older or no plan is configured, the purchase proceeds with Apple's - // default plan. + #if compiler(>=6.3.2) if #available(iOS 26.4, macOS 26.4, tvOS 26.4, watchOS 26.4, visionOS 26.4, *), let plan = product.billingPlanType { let sk2Plan: StoreKit.Product.SubscriptionInfo.BillingPlanType diff --git a/SuperwallKit.podspec b/SuperwallKit.podspec index 27d2d5647d..3115a9e217 100644 --- a/SuperwallKit.podspec +++ b/SuperwallKit.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = "SuperwallKit" - s.version = "4.16.0" + s.version = "4.16.1" s.summary = "Superwall: In-App Paywalls Made Easy" s.description = "Paywall infrastructure for mobile apps :) we make things like editing your paywall and running price tests as easy as clicking a few buttons. superwall.com"