\r\n\r\n\r\n[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\r\n\r\nDependabot will resolve any conflicts with this PR as long as you don't\r\nalter it yourself. You can also trigger a rebase manually by commenting\r\n`@dependabot rebase`.\r\n\r\n[//]: # (dependabot-automerge-start)\r\n[//]: # (dependabot-automerge-end)\r\n\r\n---\r\n\r\n\r\nDependabot commands and options
\r\n
\r\n\r\nYou can trigger Dependabot actions by commenting on this PR:\r\n- `@dependabot rebase` will rebase this PR\r\n- `@dependabot recreate` will recreate this PR, overwriting any edits\r\nthat have been made to it\r\n- `@dependabot merge` will merge this PR after your CI passes on it\r\n- `@dependabot squash and merge` will squash and merge this PR after\r\nyour CI passes on it\r\n- `@dependabot cancel merge` will cancel a previously requested merge\r\nand block automerging\r\n- `@dependabot reopen` will reopen this PR if it is closed\r\n- `@dependabot close` will close this PR and stop Dependabot recreating\r\nit. You can achieve the same result by closing it manually\r\n- `@dependabot ignore this major version` will close this PR and stop\r\nDependabot creating any more for this major version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this minor version` will close this PR and stop\r\nDependabot creating any more for this minor version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this dependency` will close this PR and stop\r\nDependabot creating any more for this dependency (unless you reopen the\r\nPR or upgrade to it yourself)\r\n\r\n\r\n \r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","sha":"cd095b0e2a30c89023744e90dc9e779f539959ba","created_at":"2023-06-07 19:40","time_from_now":"1年前","created_at_unix":1686138010}},{"name":"LICENSE","path":"LICENSE","sha":"91dd95711583cd3ed6142a1df38898d15551cdfd","type":"file","submodule_git_url":null,"size":1069,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Initial checkin 0.1.0\n","sha":"85e2aabaa3f2cd6ef41abc1de7a3534d667c9e22","created_at":"2017-09-29 12:24","time_from_now":"7年前","created_at_unix":1506659050}},{"name":"Package.swift","path":"Package.swift","sha":"fdf3f75d7e90cacb03738fbd1577543fd40b1694","type":"file","submodule_git_url":null,"size":2168,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Added `.xcprivacy` for Xcode 15 (#2619)\n\nExample generated report:\r\n\r\n","sha":"442b683cfed431efd4e33a7fc4bd9654f2eec59e","created_at":"2023-06-15 03:22","time_from_now":"1年前","created_at_unix":1686770555}},{"name":"README.md","path":"README.md","sha":"8bda8fb645eb86d5aa8dfd9a8cf82447db87bd37","type":"file","submodule_git_url":null,"size":4288,"is_readme_file":true,"content":null,"target":null,"commit":{"message":"Updated requirements to drop Xcode 13.x support (#2419)\n\nStarting April 2023 it's no longer possible to submit apps with Xcode\r\n13.x. This technically doesn't drop _support_, but we might won't be\r\ntesting on the oldest supported version of Xcode 13, since it's not\r\nnecessary.\r\n\r\n### Changes:\r\n_See\r\n[`UpdatingRequirements.md`](https://github.com/RevenueCat/purchases-ios/blob/f8e07f07e8e842c25755f3dbca3a3f35961258a0/Contributing/UpdatingRequirements.md)_\r\n\r\n- Removed `CircleCI` Xcode 13.2.1 job (_this saves ~11 minutes of build\r\ntime on every commit_)\r\n- Updated `README`\r\n- Updated message in `SwiftVersionCheck.swift`\r\n\r\nNote that a lot of CI tests still run on Xcode 13.x for now because\r\ninstalling old simulators on Xcode 14.x was failing. We'll need to fix\r\nthis when `CircleCI` drops support for `Xcode 13.x`.\r\nOnce we do that, we can refactor a lot of code like\r\n```swift\r\n#if swift(>=5.7)\r\nextension CustomerInfo: Sendable {}\r\n#else\r\n// `@unchecked` because:\r\n// - `Date` is not `Sendable` until Swift 5.7\r\n// - `URL` is not `Sendable` until Swift 5.7\r\nextension CustomerInfo: @unchecked Sendable {}\r\n#endif\r\n```","sha":"d71772c0e94d52a61902b3d380339c9c08c5b5ab","created_at":"2023-04-20 23:31","time_from_now":"1年前","created_at_unix":1682004671}},{"name":"RevenueCat.podspec","path":"RevenueCat.podspec","sha":"daf65eb9e8890dadb66850e62c87600261d3829d","type":"file","submodule_git_url":null,"size":1107,"is_readme_file":null,"content":null,"target":null,"commit":{"message":"Prepare next version: 4.23.0-SNAPSHOT (#2640)\n\nCo-authored-by: Distiller ","sha":"1dd5e765297d3172e41b33fa1a169b476f2cb3a3","created_at":"2023-06-14 02:55","time_from_now":"1年前","created_at_unix":1686682551}},{"name":"CustomEntitlementComputation","path":"CustomEntitlementComputation","sha":"3a40a8b68c41716195d83ed24e3a50d1a0679a71","type":"symlink","submodule_git_url":null,"size":7,"is_readme_file":false,"content":null,"target":"Sources","commit":{"message":"Create separate `SPM` library to enable custom entitlement computation (#2440)\n\nFixes SDK-3084\r\n\r\n\r\n\r\n## Changes:\r\n\r\n- Added new `ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION` compile time flag\r\n- Hidden `configureInCustomEntitlementsModeWithApiKey` behind\r\n`ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION`\r\n- Added new `RevenueCat_CustomEntitlementComputation` SPM target and\r\nlibrary\r\n- Added CircleCI job for `swift build --target\r\nRevenueCat_CustomEntitlementComputation`\r\n- Added new `SPMCustomEntitlementComputationInstallation` using the new\r\n`configureInCustomEntitlementsComputationMode`\r\n- Added CircleCI job for `SPMCustomEntitlementComputationInstallation`\r\n- Added `FrameworkDisambiguation.swift` to avoid using `RevenueCat.`\r\ndisambiguation for files that\r\n- Changed API testers to only use the new methods if\r\n`ENABLE_CUSTOM_ENTITLEMENT_COMPUTATION` is defined\r\n- Updated `DangerousSettings` to not expose\r\n`customEntitlementComputation` publicly. The only way to use that now\r\nwith `public` API is through\r\n`Purchases.configureInCustomEntitlementsModeWithApiKey`\r\n- Updated sample app to use new library","sha":"64c8638425833042856d0ee0176ed23d6c940b84","created_at":"2023-04-26 06:11","time_from_now":"1年前","created_at_unix":1682460718}},{"name":"LocalReceiptParsing","path":"LocalReceiptParsing","sha":"5c92cc73d4b500b8cf90c752e1ecdcec22d941ed","type":"symlink","submodule_git_url":null,"size":27,"is_readme_file":false,"content":null,"target":"Sources/LocalReceiptParsing","commit":{"message":"Created `ReceiptParser` SPM (#2155)\n\nFinishes [CSDK-17].\r\nFollow up to #2153. Extracted from #2096.\r\n\r\n### Changes:\r\n- Created target in `Package.swift`. It can be built separately: `swift\r\nbuild --target ReceiptParser`\r\n\r\n- Created `ReceiptParser` target in project:\r\n\r\n- Added `ReceiptParser` scheme to allow building the target from Xcode:\r\n\r\n- Added CI `spm-receipt-parser` job\r\n- Added CI `installation-tests-receipt-parser` job\r\n- Added `ReceiptParserAPITester` to test API for `ReceiptParser`'s\r\ntarget\r\n- Compile `ReceiptParserAPITester` when running `RevenueCat` tests so\r\nthese are validated as well. -\r\n\r\n[CSDK-17]:\r\nhttps://revenuecats.atlassian.net/browse/CSDK-17?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ","sha":"6d78f2bffe76f45dde5120fe13c1acee497935c2","created_at":"2022-12-23 04:02","time_from_now":"2年前","created_at_unix":1671739320}}]},"projectMenu":[{"menu_name":"home"},{"menu_name":"code"},{"menu_name":"issues"},{"menu_name":"pulls"},{"menu_name":"devops"},{"menu_name":"versions"},{"menu_name":"wiki"},{"menu_name":"resources"},{"menu_name":"activity"}],"projectReadMe":"%7B%22type%22%3A%22file%22%2C%22encoding%22%3A%22base64%22%2C%22size%22%3A4288%2C%22name%22%3A%22README.md%22%2C%22path%22%3A%22README.md%22%2C%22content%22%3A%22%3Ch3%20align%3D%5C%22center%5C%22%3E%F0%9F%98%BB%20In-App%20Subscriptions%20Made%20Easy%20%F0%9F%98%BB%3C%2Fh3%3E%5Cn%5Cn%5B!%5BLicense%5D(https%3A%2F%2Fimg.shields.io%2Fcocoapods%2Fl%2FRevenueCat.svg%3Fstyle%3Dflat)%5D(http%3A%2F%2Fcocoapods.org%2Fpods%2FRevenueCat)%5Cn%5B!%5BVersion%5D(https%3A%2F%2Fimg.shields.io%2Fcocoapods%2Fv%2FRevenueCat.svg%3Fstyle%3Dflat)%5D(https%3A%2F%2Fcocoapods.org%2Fpods%2FRevenueCat)%5Cn%5B!%5BCarthage%20compatible%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FCarthage-compatible-4BC51D.svg%3Fstyle%3Dflat)%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fios%23section-install-via-carthage)%5Cn%5B!%5BSwiftPM%20compatible%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FSwiftPM-compatible-orange.svg)%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fios%23section-install-via-swift-package-manager)%5Cn%5B!%5B%5D(https%3A%2F%2Fimg.shields.io%2Fendpoint%3Furl%3Dhttps%253A%252F%252Fswiftpackageindex.com%252Fapi%252Fpackages%252FRevenueCat%252Fpurchases-ios%252Fbadge%253Ftype%253Dswift-versions)%5D(https%3A%2F%2Fswiftpackageindex.com%2FRevenueCat%2Fpurchases-ios)%5Cn%5B!%5B%5D(https%3A%2F%2Fimg.shields.io%2Fendpoint%3Furl%3Dhttps%253A%252F%252Fswiftpackageindex.com%252Fapi%252Fpackages%252FRevenueCat%252Fpurchases-ios%252Fbadge%253Ftype%253Dplatforms)%5D(https%3A%2F%2Fswiftpackageindex.com%2FRevenueCat%2Fpurchases-ios)%5Cn%5CnRevenueCat%20is%20a%20powerful%2C%20reliable%2C%20and%20free%20to%20use%20in-app%20purchase%20server%20with%20cross-platform%20support.%20Our%20open-source%20framework%20provides%20a%20backend%20and%20a%20wrapper%20around%20StoreKit%20and%20Google%20Play%20Billing%20to%20make%20implementing%20in-app%20purchases%20and%20subscriptions%20easy.%20%5Cn%5CnWhether%20you%20are%20building%20a%20new%20app%20or%20already%20have%20millions%20of%20customers%2C%20you%20can%20use%20RevenueCat%20to%3A%5Cn%5Cn%20%20*%20Fetch%20products%2C%20make%20purchases%2C%20and%20check%20subscription%20status%20with%20our%20%5Bnative%20SDKs%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Finstallation).%20%5Cn%20%20*%20Host%20and%20%5Bconfigure%20products%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fentitlements)%20remotely%20from%20our%20dashboard.%20%5Cn%20%20*%20Analyze%20the%20most%20important%20metrics%20for%20your%20app%20business%20%5Bin%20one%20place%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fcharts).%5Cn%20%20*%20See%20customer%20transaction%20histories%2C%20chart%20lifetime%20value%2C%20and%20%5Bgrant%20promotional%20subscriptions%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fcustomers).%5Cn%20%20*%20Get%20notified%20of%20real-time%20events%20through%20%5Bwebhooks%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fwebhooks).%5Cn%20%20*%20Send%20enriched%20purchase%20events%20to%20analytics%20and%20attribution%20tools%20with%20our%20easy%20integrations.%5Cn%5CnSign%20up%20to%20%5Bget%20started%20for%20free%5D(https%3A%2F%2Fapp.revenuecat.com%2Fsignup).%5Cn%5Cn%23%23%20RevenueCat.framework%5Cn%5Cn*RevenueCat*%20is%20the%20client%20for%20the%20%5BRevenueCat%5D(https%3A%2F%2Fwww.revenuecat.com%2F)%20subscription%20and%20purchase%20tracking%20system.%20It's%20100%25%20%60Swift%60%20and%20compatible%20with%20%60Objective-C%60.%5Cn%5Cn%23%23%20Migrating%20from%20Purchases%20v3%5Cn-%20See%20our%20%5BMigration%20guide%5D(https%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs%2Fv4_api_migration_guide.html)%5Cn%5Cn%23%23%20RevenueCat%20SDK%20Features%5Cn%7C%20%20%20%7C%20RevenueCat%20%7C%5Cn%7C%20---%20%7C%20---%20%7C%5Cn%E2%9C%85%20%7C%20Server-side%20receipt%20validation%5Cn%E2%9E%A1%EF%B8%8F%20%7C%20%5BWebhooks%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fwebhooks)%20-%20enhanced%20server-to-server%20communication%20with%20events%20for%20purchases%2C%20renewals%2C%20cancellations%2C%20and%20more%5Cn%F0%9F%96%A5%20%7C%20iOS%2C%20tvOS%2C%20macOS%20and%20watchOS%20support%5Cn%F0%9F%8E%AF%20%7C%20Subscription%20status%20tracking%20-%20know%20whether%20a%20user%20is%20subscribed%20whether%20they're%20on%20iOS%2C%20Android%20or%20web%5Cn%F0%9F%93%8A%20%7C%20Analytics%20-%20automatic%20calculation%20of%20metrics%20like%20conversion%2C%20mrr%2C%20and%20churn%5Cn%F0%9F%93%9D%20%7C%20%5BOnline%20documentation%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs)%20and%20%5BSDK%20Reference%5D(http%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs%2F)%20up%20to%20date%5Cn%F0%9F%94%80%20%7C%20%5BIntegrations%5D(https%3A%2F%2Fwww.revenuecat.com%2Fintegrations)%20-%20over%20a%20dozen%20integrations%20to%20easily%20send%20purchase%20data%20where%20you%20need%20it%5Cn%F0%9F%92%AF%20%7C%20Well%20maintained%20-%20%5Bfrequent%20releases%5D(https%3A%2F%2Fgithub.com%2FRevenueCat%2Fpurchases-ios%2Freleases)%5Cn%F0%9F%93%AE%20%7C%20Great%20support%20-%20%5BContact%20us%5D(https%3A%2F%2Frevenuecat.com%2Fsupport)%5Cn%5Cn%23%23%20Getting%20Started%5CnFor%20more%20detailed%20information%2C%20you%20can%20view%20our%20complete%20documentation%20at%20%5Bdocs.revenuecat.com%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs).%5Cn%5CnPlease%20follow%20the%20%5BQuickstart%20Guide%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2F)%20for%20more%20information%20on%20how%20to%20install%20the%20SDK.%5Cn%5CnOr%20view%20our%20iOS%20sample%20apps%3A%5Cn-%20%5BMagicWeather%5D(Examples%2FMagicWeather)%5Cn-%20%5BMagicWeather%20SwiftUI%5D(Examples%2FMagicWeatherSwiftUI)%5Cn%5Cn%23%23%20Requirements%5Cn-%20Xcode%2014.0%2B%5Cn%5Cn%7C%20Platform%20%7C%20Minimum%20target%20%7C%5Cn%7C%20---%20%7C%20---%20%7C%5Cn%7C%20iOS%20%7C%2011.0%2B%20%7C%5Cn%7C%20tvOS%20%7C%2011.0%2B%20%7C%5Cn%7C%20macOS%20%7C%2010.13%2B%20%7C%5Cn%7C%20watchOS%20%7C%206.2%2B%20%7C%5Cn%5Cn%23%23%20SDK%20Reference%5CnOur%20full%20SDK%20reference%20%5Bcan%20be%20found%20here%5D(https%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs).%5Cn%5Cn%23%23%20Contributing%5CnContributions%20are%20always%20welcome!%20To%20learn%20how%20you%20can%20contribute%2C%20please%20see%20the%20%5BContributing%20Guide%5D(.%2FContributing%2FCONTRIBUTING.md).%5Cn%22%2C%22sha%22%3A%228bda8fb645eb86d5aa8dfd9a8cf82447db87bd37%22%2C%22replace_content%22%3A%22%3Ch3%20align%3D%5C%22center%5C%22%3E%F0%9F%98%BB%20In-App%20Subscriptions%20Made%20Easy%20%F0%9F%98%BB%3C%2Fh3%3E%5Cn%5Cn%5B!%5BLicense%5D(https%3A%2F%2Fimg.shields.io%2Fcocoapods%2Fl%2FRevenueCat.svg%3Fstyle%3Dflat)%5D(http%3A%2F%2Fcocoapods.org%2Fpods%2FRevenueCat)%5Cn%5B!%5BVersion%5D(https%3A%2F%2Fimg.shields.io%2Fcocoapods%2Fv%2FRevenueCat.svg%3Fstyle%3Dflat)%5D(https%3A%2F%2Fcocoapods.org%2Fpods%2FRevenueCat)%5Cn%5B!%5BCarthage%20compatible%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FCarthage-compatible-4BC51D.svg%3Fstyle%3Dflat)%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fios%23section-install-via-carthage)%5Cn%5B!%5BSwiftPM%20compatible%5D(https%3A%2F%2Fimg.shields.io%2Fbadge%2FSwiftPM-compatible-orange.svg)%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fios%23section-install-via-swift-package-manager)%5Cn%5B!%5B%5D(https%3A%2F%2Fimg.shields.io%2Fendpoint%3Furl%3Dhttps%253A%252F%252Fswiftpackageindex.com%252Fapi%252Fpackages%252FRevenueCat%252Fpurchases-ios%252Fbadge%253Ftype%253Dswift-versions)%5D(https%3A%2F%2Fswiftpackageindex.com%2FRevenueCat%2Fpurchases-ios)%5Cn%5B!%5B%5D(https%3A%2F%2Fimg.shields.io%2Fendpoint%3Furl%3Dhttps%253A%252F%252Fswiftpackageindex.com%252Fapi%252Fpackages%252FRevenueCat%252Fpurchases-ios%252Fbadge%253Ftype%253Dplatforms)%5D(https%3A%2F%2Fswiftpackageindex.com%2FRevenueCat%2Fpurchases-ios)%5Cn%5CnRevenueCat%20is%20a%20powerful%2C%20reliable%2C%20and%20free%20to%20use%20in-app%20purchase%20server%20with%20cross-platform%20support.%20Our%20open-source%20framework%20provides%20a%20backend%20and%20a%20wrapper%20around%20StoreKit%20and%20Google%20Play%20Billing%20to%20make%20implementing%20in-app%20purchases%20and%20subscriptions%20easy.%20%5Cn%5CnWhether%20you%20are%20building%20a%20new%20app%20or%20already%20have%20millions%20of%20customers%2C%20you%20can%20use%20RevenueCat%20to%3A%5Cn%5Cn%20%20*%20Fetch%20products%2C%20make%20purchases%2C%20and%20check%20subscription%20status%20with%20our%20%5Bnative%20SDKs%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Finstallation).%20%5Cn%20%20*%20Host%20and%20%5Bconfigure%20products%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fentitlements)%20remotely%20from%20our%20dashboard.%20%5Cn%20%20*%20Analyze%20the%20most%20important%20metrics%20for%20your%20app%20business%20%5Bin%20one%20place%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fcharts).%5Cn%20%20*%20See%20customer%20transaction%20histories%2C%20chart%20lifetime%20value%2C%20and%20%5Bgrant%20promotional%20subscriptions%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fcustomers).%5Cn%20%20*%20Get%20notified%20of%20real-time%20events%20through%20%5Bwebhooks%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fwebhooks).%5Cn%20%20*%20Send%20enriched%20purchase%20events%20to%20analytics%20and%20attribution%20tools%20with%20our%20easy%20integrations.%5Cn%5CnSign%20up%20to%20%5Bget%20started%20for%20free%5D(https%3A%2F%2Fapp.revenuecat.com%2Fsignup).%5Cn%5Cn%23%23%20RevenueCat.framework%5Cn%5Cn*RevenueCat*%20is%20the%20client%20for%20the%20%5BRevenueCat%5D(https%3A%2F%2Fwww.revenuecat.com%2F)%20subscription%20and%20purchase%20tracking%20system.%20It's%20100%25%20%60Swift%60%20and%20compatible%20with%20%60Objective-C%60.%5Cn%5Cn%23%23%20Migrating%20from%20Purchases%20v3%5Cn-%20See%20our%20%5BMigration%20guide%5D(https%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs%2Fv4_api_migration_guide.html)%5Cn%5Cn%23%23%20RevenueCat%20SDK%20Features%5Cn%7C%20%20%20%7C%20RevenueCat%20%7C%5Cn%7C%20---%20%7C%20---%20%7C%5Cn%E2%9C%85%20%7C%20Server-side%20receipt%20validation%5Cn%E2%9E%A1%EF%B8%8F%20%7C%20%5BWebhooks%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2Fwebhooks)%20-%20enhanced%20server-to-server%20communication%20with%20events%20for%20purchases%2C%20renewals%2C%20cancellations%2C%20and%20more%5Cn%F0%9F%96%A5%20%7C%20iOS%2C%20tvOS%2C%20macOS%20and%20watchOS%20support%5Cn%F0%9F%8E%AF%20%7C%20Subscription%20status%20tracking%20-%20know%20whether%20a%20user%20is%20subscribed%20whether%20they're%20on%20iOS%2C%20Android%20or%20web%5Cn%F0%9F%93%8A%20%7C%20Analytics%20-%20automatic%20calculation%20of%20metrics%20like%20conversion%2C%20mrr%2C%20and%20churn%5Cn%F0%9F%93%9D%20%7C%20%5BOnline%20documentation%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs)%20and%20%5BSDK%20Reference%5D(http%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs%2F)%20up%20to%20date%5Cn%F0%9F%94%80%20%7C%20%5BIntegrations%5D(https%3A%2F%2Fwww.revenuecat.com%2Fintegrations)%20-%20over%20a%20dozen%20integrations%20to%20easily%20send%20purchase%20data%20where%20you%20need%20it%5Cn%F0%9F%92%AF%20%7C%20Well%20maintained%20-%20%5Bfrequent%20releases%5D(https%3A%2F%2Fgithub.com%2FRevenueCat%2Fpurchases-ios%2Freleases)%5Cn%F0%9F%93%AE%20%7C%20Great%20support%20-%20%5BContact%20us%5D(https%3A%2F%2Frevenuecat.com%2Fsupport)%5Cn%5Cn%23%23%20Getting%20Started%5CnFor%20more%20detailed%20information%2C%20you%20can%20view%20our%20complete%20documentation%20at%20%5Bdocs.revenuecat.com%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs).%5Cn%5CnPlease%20follow%20the%20%5BQuickstart%20Guide%5D(https%3A%2F%2Fdocs.revenuecat.com%2Fdocs%2F)%20for%20more%20information%20on%20how%20to%20install%20the%20SDK.%5Cn%5CnOr%20view%20our%20iOS%20sample%20apps%3A%5Cn-%20%5BMagicWeather%5D(Examples%2FMagicWeather)%5Cn-%20%5BMagicWeather%20SwiftUI%5D(Examples%2FMagicWeatherSwiftUI)%5Cn%5Cn%23%23%20Requirements%5Cn-%20Xcode%2014.0%2B%5Cn%5Cn%7C%20Platform%20%7C%20Minimum%20target%20%7C%5Cn%7C%20---%20%7C%20---%20%7C%5Cn%7C%20iOS%20%7C%2011.0%2B%20%7C%5Cn%7C%20tvOS%20%7C%2011.0%2B%20%7C%5Cn%7C%20macOS%20%7C%2010.13%2B%20%7C%5Cn%7C%20watchOS%20%7C%206.2%2B%20%7C%5Cn%5Cn%23%23%20SDK%20Reference%5CnOur%20full%20SDK%20reference%20%5Bcan%20be%20found%20here%5D(https%3A%2F%2Frevenuecat.github.io%2Fpurchases-ios-docs).%5Cn%5Cn%23%23%20Contributing%5CnContributions%20are%20always%20welcome!%20To%20learn%20how%20you%20can%20contribute%2C%20please%20see%20the%20%5BContributing%20Guide%5D(%2F%2Fdnrops%2Fpurchases-ios%2Ftree%2Fmain%2FContributing%2FCONTRIBUTING.md).%5Cn%22%7D"},"zoneReducer":{"zoneDetail":"","newsDetail":""}}
😻 In-App Subscriptions Made Easy 😻
RevenueCat is a powerful, reliable, and free to use in-app purchase server with cross-platform support. Our open-source framework provides a backend and a wrapper around StoreKit and Google Play Billing to make implementing in-app purchases and subscriptions easy.
Whether you are building a new app or already have millions of customers, you can use RevenueCat to:
Sign up to get started for free.
RevenueCat.framework
RevenueCat is the client for the RevenueCat subscription and purchase tracking system. It’s 100%
Swift
and compatible withObjective-C
.Migrating from Purchases v3
RevenueCat SDK Features
Getting Started
For more detailed information, you can view our complete documentation at docs.revenuecat.com.
Please follow the Quickstart Guide for more information on how to install the SDK.
Or view our iOS sample apps:
Requirements
SDK Reference
Our full SDK reference can be found here.
Contributing
Contributions are always welcome! To learn how you can contribute, please see the Contributing Guide.