purchases-ios

In-app purchases and subscriptions made easy. Support for iOS, watchOS, tvOS, macOS, and visionOS.

MIT License

Stars
2.1K
Committers
65

Bot releases are visible (Hide)

purchases-ios - 4.32.1

Published by RCGitBot 9 months ago

RevenueCatUI

  • PaywallViewController: new initializer with Offering identifier (#3587) via NachoSoto (@NachoSoto)
  • Paywalls: improve template 5 layout for long product names (#3589) via NachoSoto (@NachoSoto)

Other Changes

  • Paywalls: extracted PaywallViewConfiguration (#3586) via NachoSoto (@NachoSoto)
  • CircleCI: avoid installing Xcodes when not needed (#3585) via NachoSoto (@NachoSoto)
  • CircleCI: change all jobs to M1 (#3140) via NachoSoto (@NachoSoto)
purchases-ios - 4.32.0

Published by RCGitBot 9 months ago

New Features

  • StoreProduct: add localized price per period strings (#3546) via Andy Boedo (@aboedo)

RevenueCatUI

  • Paywalls: new .onPurchaseCancelled and paywallViewControllerDidCancelPurchase: (#3578) via NachoSoto (@NachoSoto)
  • Paywalls: improve error display (#3577) via NachoSoto (@NachoSoto)

Dependency Updates

  • Bump fastlane-plugin-revenuecat_internal from 0ddee10 to e6ba247 (#3575) via dependabot[bot] (@dependabot[bot])

Other Changes

  • PurchaseTester: improved ReceiptInspector so it accepts receipts with escape sequences (#3554) via Andy Boedo (@aboedo)
purchases-ios - 4.31.9

Published by RCGitBot 9 months ago

RevenueCatUI

  • PaywallViewController: add PaywallFontProvider parameter (#3567) via NachoSoto (@NachoSoto)

Other Changes

  • Integration Tests: run on iOS 17 (#3107) via NachoSoto (@NachoSoto)
  • CI: update to Xcode 15.2 (#3571) via NachoSoto (@NachoSoto)
  • PaywallViewControllerDelegate: fixed typo in @objc method name (#3569) via NachoSoto (@NachoSoto)
  • SandboxEnvironmentDetector: more tests for macOS (#3568) via NachoSoto (@NachoSoto)
purchases-ios - 4.31.8

Published by RCGitBot 9 months ago

RevenueCatUI

  • Paywalls: remove unscrollable spacing in Template 5 (#3562) via NachoSoto (@NachoSoto)
  • Paywalls: improve template 5 checkmark icon (#3559) via NachoSoto (@NachoSoto)

Bugfixes

  • Improve sandbox detector for macOS apps (#3549) via Mark Villacampa (@MarkVillacampa)

Other Changes

  • Paywalls: new PaywallViewControllerDelegate.paywallViewController(_:didChangeSizeTo:) (#3563) via Cesar de la Vega (@vegaro)
  • Tests: running tests on macOS (#3533) via NachoSoto (@NachoSoto)
  • Integration Tests: split into separate jobs (#3560) via NachoSoto (@NachoSoto)
purchases-ios - 4.31.7

Published by RCGitBot 9 months ago

RevenueCatUI

  • Paywalls: improve footer view UIKit support for hybrid SDKs (#3547) via Andy Boedo (@aboedo)

Dependency Updates

  • Bump fastlane from 2.218.0 to 2.219.0 (#3553) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.217.0 to 2.218.0 (#3550) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Tests: improve test flakiness (#3552) via Andy Boedo (@aboedo)
purchases-ios - 4.31.6

Published by RCGitBot 10 months ago

RevenueCatUI

  • Paywalls: add header image to watchOS paywalls (#3542) via NachoSoto (@NachoSoto)
  • Paywalls: improve template 5 landscape layout (#3534) via NachoSoto (@NachoSoto)
  • Paywalls: fix template 5 footer loading view alignment (#3537) via NachoSoto (@NachoSoto)
  • Paywalls: improve template 1 landscape layout (#3532) via NachoSoto (@NachoSoto)
  • Paywalls: fix ColorInformation.multiScheme on watchOS (#3530) via NachoSoto (@NachoSoto)

Other Changes

  • Trusted Entitlements: tests for signature verification without header hash (#3505) via NachoSoto (@NachoSoto)
  • .debugRevenueCatOverlay: added Locale (#3539) via NachoSoto (@NachoSoto)
  • Trusted Entitlements: add support for signing request headers (#3424) via NachoSoto (@NachoSoto)
  • CI: Add architecture to cache keys (#3538) via Mark Villacampa (@MarkVillacampa)
  • Paywalls Tester: remove double close button (#3531) via NachoSoto (@NachoSoto)
  • Fix RevenueCatUI snapshot tests (#3526) via NachoSoto (@NachoSoto)
purchases-ios - 4.32.0-beta.1

Published by RCGitBot 10 months ago

StoreKit 2 Beta

This beta introduces a new configuration option to enable full StoreKit 2 flow on the SDK and the RevenueCat backend.

We have been testing StoreKit 2 support in parallel to StoreKit 1 in our backend for a while and we believe it is ready for widespread use.

If your app is currently using StoreKit 1, it is safe to update to StoreKit 2 and it's even possible to switch back to StoreKit 1 if needed. Switching to StoreKit 2 will not prevent purchases made with StoreKit 1 from being processed.

In order to enable StoreKit 2, add .with(storeKitVersion: .storeKit2) to your RevenueCat configuration code:

Purchases.configure(with: .builder(withAPIKey: apiKey)
    .with(storeKitVersion: .storeKit2)
    .build()

If you were previously using the deprecated configuration option .with(usesStoreKit2IfAvailable: true), we recommend you remove it and switch to the new supported method.

⚠️ ⚠️ Important ⚠️ ⚠️

In order to validate StoreKit 2 purchases, make sure you have an In-App Purchase Key configured in your app.

Please see https://rev.cat/in-app-purchase-key-configuration for more info.

🚧🚧 Limitations 🚧🚧

  • Observer Mode is not currently supported when using StoreKit 2.
  • The originalApplicationVersion and originalPurchaseDate properties in CustomerInfo are not supported in this first beta. Please do not update if your implementation relies on them being present.
purchases-ios - 4.31.5

Published by RCGitBot 10 months ago

RevenueCatUI

  • Paywalls: add PaywallFooterViewController (#3486) via Toni Rico (@tonidero)
  • Paywalls: improve landscape support of all templates (#3471) via NachoSoto (@NachoSoto)
  • Paywalls: ensure footer links open in full-screen sheets (#3524) via NachoSoto (@NachoSoto)
  • Paywalls: improve FooterView text alignment (#3525) via NachoSoto (@NachoSoto)
  • Paywalls: Add dismissal method in PaywallViewControllerDelegate (#3493) via Toni Rico (@tonidero)
purchases-ios - 4.31.4

Published by RCGitBot 10 months ago

RevenueCatUI

  • Paywalls: silence logs below Purchases.logLevel (#3520) via NachoSoto (@NachoSoto)
  • Paywalls: always dismiss paywalls automatically after a purchase (#3517) via NachoSoto (@NachoSoto)

Dependency Updates

  • Bump danger from 9.4.1 to 9.4.2 (#3519) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Tests: fix iOS 12 snapshot (#3521) via NachoSoto (@NachoSoto)
  • [SK2] Add support for StoreKit Config files in SK2 (#3365) via Mark Villacampa (@MarkVillacampa)
purchases-ios - 4.31.3

Published by RCGitBot 10 months ago

RevenueCatUI

  • Paywalls: improve image caching (#3498) via NachoSoto (@NachoSoto)
  • Paywalls: change style of CTA button to be consistent with other platforms (#3507) via NachoSoto (@NachoSoto)
  • Paywalls: open footer links on Safari on Catalyst (#3508) via NachoSoto (@NachoSoto)
  • Paywalls: fix compilation on Xcode < 14.3 (#3513) via NachoSoto (@NachoSoto)
  • Fix typo in zh-Hans localization of RevenueCatUI (#3512) via Francis Feng (@francisfeng)
  • Paywalls: fix PaywallViewControllerDelegate access from Objective-C (#3510) via noncenz (@noncenz)
  • Paywalls: open Terms and Privacy Policy links in-app (#3475) via Andy Boedo (@aboedo)
  • Paywalls: fix empty description when using custom package type and {{ sub_period }} (#3495) via Andy Boedo (@aboedo)
  • Paywalls: use HEIC images (#3496) via NachoSoto (@NachoSoto)
  • Paywalls: disable the close button when an action is in progress (#3474) via Andy Boedo (@aboedo)
  • Paywalls: adjusted German translations (#3476) via Tensei (@tensei)
  • Paywalls: Improve Chinese localization (#3489) via Andy Boedo (@aboedo)

Other Changes

  • CircleCI: add git credentials to snapshot generation (#3506) via NachoSoto (@NachoSoto)
  • StoreProduct: improve priceFormatter documentation (#3500) via NachoSoto (@NachoSoto)
  • Paywalls: fix tests (#3499) via NachoSoto (@NachoSoto)
  • Optimization: changed first to first(where:) (#3467) via NachoSoto (@NachoSoto)
purchases-ios - 4.31.2

Published by RCGitBot 11 months ago

Bugfixes

  • Improve pricePerYear price calculation precision (#3492) via Toni Rico (@tonidero)
  • Improve price per month accuracy for weekly subscriptions (#3480) via Andy Boedo (@aboedo)

Dependency Updates

  • Bump danger from 9.4.0 to 9.4.1 (#3485) via dependabot[bot] (@dependabot[bot])
purchases-ios - 4.31.1

Published by RCGitBot 11 months ago

RevenueCatUI

  • Paywalls: remove empty space when template 4 has no offer details (#3469) via NachoSoto (@NachoSoto)

Other Changes

  • Concurrency: address strict concurrency issues on SystemInfo (#3462) via NachoSoto (@NachoSoto)
  • CircleCI: upgrade to Xcode 15.1 (#3403) via NachoSoto (@NachoSoto)
  • Paywalls: tests for PurchaseButton layout logic (#3468) via NachoSoto (@NachoSoto)
  • Paywalls: simplified PaywallViewMode logic (#3470) via NachoSoto (@NachoSoto)
purchases-ios - 4.31.0

Published by RCGitBot 11 months ago

RevenueCatUI

  • Paywalls: Fix navigation with close button in UIKit (#3466) via Andy Boedo (@aboedo)
  • Paywalls: watchOS support (#3291) via NachoSoto (@NachoSoto)

Dependency Updates

  • Bump cocoapods from 1.14.2 to 1.14.3 (#3464) via dependabot[bot] (@dependabot[bot])
  • Bump fastlane from 2.216.0 to 2.217.0 (#3415) via dependabot[bot] (@dependabot[bot])
  • Bump danger from 9.3.2 to 9.4.0 (#3414) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Some APITester fixes (#3444) via NachoSoto (@NachoSoto)
  • HTTPClient: test all request headers (#3425) via NachoSoto (@NachoSoto)
  • CircleCI: fix snapshot generation for iOS 14 (#3431) via NachoSoto (@NachoSoto)
  • Remove MockStoreMessagesHelper from SDK (#3417) via NachoSoto (@NachoSoto)
  • Enable explicit_init lint rule and fix issues (#3418) via Mark Villacampa (@MarkVillacampa)
purchases-ios - 4.30.5

Published by RCGitBot 11 months ago

Bugfixes

  • visionOS: fix support for Xcode 15.1 beta 3 (#3409) via NachoSoto (@NachoSoto)

Other Changes

  • SystemInfo: fix flaky Storefront test (#3411) via NachoSoto (@NachoSoto)
  • Adds X-Storefront request header for App Store Storefront (#3405) via Josh Holtz (@joshdholtz)
  • CircleCI: upgrade to Xcode 15.1 (#3408) via NachoSoto (@NachoSoto)
  • Integration Tests: verify that SKTestSession purchases do not grant production entitlements (#3406) via NachoSoto (@NachoSoto)
  • Integration Tests: fix potential crash on tearDown (#3401) via NachoSoto (@NachoSoto)
purchases-ios - 3.14.4

Published by RCGitBot 11 months ago

purchases-ios - 4.30.4

Published by RCGitBot 12 months ago

RevenueCatUI

  • Paywalls: add displayCloseButton to PaywallViewController (#3391) via NachoSoto (@NachoSoto)
  • Paywalls: fix Turkish translation (#3389) via Dogancan Mavideniz (@mavideniz)
  • Paywalls: fix Turkish translation (#3388) via iremkaraoglu (@iremkaraoglu)

Other Changes

  • RevenueCatUI: added support to other deployment targets (#3392) via NachoSoto (@NachoSoto)
purchases-ios - 4.30.3

Published by RCGitBot 12 months ago

RevenueCatUI

  • Paywalls: fix Turkish discount string (#3385) via NachoSoto (@NachoSoto)
  • Paywalls: fix template 4 layout bug on iOS 16 (#3381) via NachoSoto (@NachoSoto)

Dependency Updates

  • Bump fastlane-plugin-revenuecat_internal from a297205 to 0ddee10 (#3383) via dependabot[bot] (@dependabot[bot])

Other Changes

  • CircleCI: fix visionOS job (#3384) via NachoSoto (@NachoSoto)
purchases-ios - 4.30.2

Published by RCGitBot 12 months ago

Performance Improvements

  • Paywalls: optimize background.jpg image (#3379) via NachoSoto (@NachoSoto)

Other Changes

  • RevenueCatUI: lowered CocoaPods deployment target to 11.0 (#3378) via NachoSoto (@NachoSoto)
  • Fix deprecation warning (#3371) via NachoSoto (@NachoSoto)
purchases-ios - 4.30.1

Published by RCGitBot 12 months ago

RevenueCatUI

  • Paywalls: RevenueCatUI CocoaPods support (#3368) via NachoSoto (@NachoSoto)
purchases-ios - 4.30.0

Published by RCGitBot 12 months ago

New Features

  • Offering: new getMetadataValue with Decodable type (#3373) via NachoSoto (@NachoSoto)
  • Add StoreProduct.pricePerWeek (#3354) via NachoSoto (@NachoSoto)

RevenueCatUI

  • Paywalls: .presentPaywallIfNeeded allows overriding Offering (#3370) via NachoSoto (@NachoSoto)
  • Paywalls: new optional displayCloseButton parameter (#3359) via NachoSoto (@NachoSoto)
  • Paywalls: improve period abbreviations in Japanese (#3367) via NachoSoto (@NachoSoto)
  • Paywalls: new {{ sub_price_per_week }} variable (#3355) via NachoSoto (@NachoSoto)
  • Paywalls: log warning when attempting to purchase already-subscribed product (#3366) via NachoSoto (@NachoSoto)
  • Paywalls: improve Japanese localization (#3364) via NachoSoto (@NachoSoto)
  • Paywalls: fix template 2 top padding inside navigation view (#3363) via NachoSoto (@NachoSoto)
  • Paywalls: avoid animating PurchaseButton labels when text does not change (#3361) via NachoSoto (@NachoSoto)
  • Paywalls: improve FooterView accessibility (#3349) via NachoSoto (@NachoSoto)

Dependency Updates

  • Bump cocoapods from 1.14.0 to 1.14.2 (#3356) via dependabot[bot] (@dependabot[bot])
  • Bump cocoapods from 1.13.0 to 1.14.0 (#3351) via dependabot[bot] (@dependabot[bot])

Other Changes

  • Paywalls: simplify PurchaseButton (#3362) via NachoSoto (@NachoSoto)
  • Paywalls: refactored IntroEligibilityStateView (#3360) via NachoSoto (@NachoSoto)
  • Paywall Tester: improve template 5 dark colors (#3358) via NachoSoto (@NachoSoto)
  • Paywalls: improve conversion from Color/UIColor to PaywallColor (#3357) via NachoSoto (@NachoSoto)
  • Paywalls Tester: improve .paywallFooter presentation (#3348) via NachoSoto (@NachoSoto)
  • Paywalls: move size configuration to TemplateViewType (#3352) via NachoSoto (@NachoSoto)