Swiftpack.co - Package - RevenueCat/purchases-ios

RevenueCat

😻 In-app Subscriptions Made Easy 😻

License Version Carthage compatible SwiftPM compatible

Purchases.framework

Purchases is a client for the RevenueCat subscription and purchase tracking system. It is an open source framework that provides a wrapper around StoreKit and the RevenueCat backend to make implementing in-app subscriptions in Swift or Objective-C easy - receipt validation and status tracking included!

Features

| | RevenueCat | | --- | --- | ✅ | Server-side receipt validation ➡️ | Webhooks - enhanced server-to-server communication with events for purchases, renewals, cancellations, and more 🖥 | macOS support 🎯 | Subscription status tracking - know whether a user is subscribed whether they're on iOS, Android or web 📊 | Analytics - automatic calculation of metrics like conversion, mrr, and churn 📝 | Online documentation up to date 🔀 | Integrations - over a dozen integrations to easily send purchase data where you need it 💯 | Well maintained - frequent releases 📮 | Great support - Help Center

Getting Started

For more detailed information, you can view our complete documentation at docs.revenuecat.com.

Github

link
Stars: 411

Used By

Total: 0

Releases

3.7.2 - 2020-09-25 17:43:59

3.7.2

  • Updates the Pod to make it compile as a static framework, fixing build issues on hybrid SDKs. Cleans up imports in RCPurchases.h. https://github.com/RevenueCat/purchases-ios/pull/353
  • Fixes Catalyst builds and build warnings https://github.com/RevenueCat/purchases-ios/pull/352 https://github.com/RevenueCat/purchases-ios/pull/351

3.7.1 - 2020-09-17 19:51:53

3.7.1

  • Fix 'Invalid bundle' validation error when uploading builds to App Store using Carthage or binary https://github.com/RevenueCat/purchases-ios/pull/346

3.6.1 - 2020-09-16 21:25:18

3.6.1

  • Fixed a bug where checkIntroTrialEligibility wouldn't return when calling it from an OS version that didn't support intro offers https://github.com/RevenueCat/purchases-ios/pull/343

3.7.0 - 2020-09-17 18:04:11

3.7.0

  • Attribution V2: - Deprecated addAttributionData:fromNetwork: and addAttributionData:fromNetwork:forNetworkUserId: in favor of setAdjustId, setAppsflyerId, setFbAnonymousId, setMparticleId - Added support for OneSignal via setOnesignalId - Added setMediaSource, setCampaign, setAdGroup, setAd, setKeyword, setCreative, and collectDeviceIdentifiers https://github.com/RevenueCat/purchases-ios/pull/321 https://github.com/RevenueCat/purchases-ios/pull/340 https://github.com/RevenueCat/purchases-ios/pull/331
  • Prevent unnecessary receipt posts https://github.com/RevenueCat/purchases-ios/pull/323
  • Improved migration process for legacy Mac App Store apps moving to Universal Store https://github.com/RevenueCat/purchases-ios/pull/336
  • Added new SKError codes for Xcode 12 https://github.com/RevenueCat/purchases-ios/pull/334 https://github.com/RevenueCat/purchases-ios/pull/338
  • Renamed StoreKitConfig schemes https://github.com/RevenueCat/purchases-ios/pull/329
  • Fixed an issue where cached purchaserInfo would be returned after invalidating purchaserInfo cache https://github.com/RevenueCat/purchases-ios/pull/333
  • Fix cocoapods and carthage release scripts https://github.com/RevenueCat/purchases-ios/pull/324
  • Fixed a bug where checkIntroTrialEligibility wouldn't return when calling it from an OS version that didn't support intro offers https://github.com/RevenueCat/purchases-ios/pull/343

3.6.0 - 2020-09-14 17:57:55

3.6.0

  • Fixed a race condition with purchase completed callbacks https://github.com/RevenueCat/purchases-ios/pull/313
  • Made RCTransaction public to fix compiling issues on Swift Package Manager https://github.com/RevenueCat/purchases-ios/pull/315
  • Added ability to export XCFrameworks https://github.com/RevenueCat/purchases-ios/pull/317
  • Cleaned up dispatch calls https://github.com/RevenueCat/purchases-ios/pull/318
  • Created a separate module and framework for the Swift code https://github.com/RevenueCat/purchases-ios/pull/319
  • Updated release scripts to be able to release the new Pod as well https://github.com/RevenueCat/purchases-ios/pull/320
  • Added a local receipt parser, updated intro eligibility calculation to perform on device first https://github.com/RevenueCat/purchases-ios/pull/302
  • Fix crash when productIdentifier or payment is nil. https://github.com/RevenueCat/purchases-ios/pull/297
  • Fixes ask-to-buy flow and will now send an error indicating there's a deferred payment. https://github.com/RevenueCat/purchases-ios/pull/296
  • Fixes application state check on app extensions, which threw a compilation error. https://github.com/RevenueCat/purchases-ios/pull/303
  • Restores will now always refresh the receipt. https://github.com/RevenueCat/purchases-ios/pull/287
  • New properties added to the PurchaserInfo to better manage non-subscriptions. https://github.com/RevenueCat/purchases-ios/pull/281
  • Bypass workaround in watchOS 7 that fixes watchOS 6.2 bug where devices report wrong appStoreReceiptURL https://github.com/RevenueCat/purchases-ios/pull/330
  • Fix bug where 404s in subscriber attributes POST would mark them as synced https://github.com/RevenueCat/purchases-ios/pull/328

3.5.3 - 2020-09-01 19:46:18

3.5.3

  • Addresses an issue where subscriber attributes might not sync correctly if subscriber info for the user hadn't been synced before the subscriber attributes sync was performed. https://github.com/RevenueCat/purchases-ios/pull/327

3.6.0-beta-2 - 2020-08-28 20:14:14

3.6.0-beta-2

  • Fixed a race condition with purchase completed callbacks https://github.com/RevenueCat/purchases-ios/pull/313
  • Made RCTransaction public to fix compiling issues on Swift Package Manager https://github.com/RevenueCat/purchases-ios/pull/315
  • Added ability to export XCFrameworks https://github.com/RevenueCat/purchases-ios/pull/317
  • Cleaned up dispatch calls https://github.com/RevenueCat/purchases-ios/pull/318
  • Created a separate module and framework for the Swift code https://github.com/RevenueCat/purchases-ios/pull/319
  • Updated release scripts to be able to release the new Pod as well https://github.com/RevenueCat/purchases-ios/pull/320
  • Added a local receipt parser, updated intro eligibility calculation to perform on device first https://github.com/RevenueCat/purchases-ios/pull/302

3.6.0-beta-1

  • Fix crash when productIdentifier or payment is nil. https://github.com/RevenueCat/purchases-ios/pull/297
  • Fixes ask-to-buy flow and will now send an error indicating there's a deferred payment. https://github.com/RevenueCat/purchases-ios/pull/296
  • Fixes application state check on app extensions, which threw a compilation error. https://github.com/RevenueCat/purchases-ios/pull/303
  • Restores will now always refresh the receipt. https://github.com/RevenueCat/purchases-ios/pull/287
  • New properties added to the PurchaserInfo to better manage non-subscriptions. https://github.com/RevenueCat/purchases-ios/pull/281

3.6.0-beta - 2020-08-07 16:01:45

  • Fix crash when productIdentifier or payment is nil. https://github.com/RevenueCat/purchases-ios/pull/297
  • Fixes ask-to-buy flow and will now send an error indicating there's a deferred payment. https://github.com/RevenueCat/purchases-ios/pull/296
  • Fixes application state check on app extensions, which threw a compilation error. https://github.com/RevenueCat/purchases-ios/pull/303
  • Restores will now always refresh the receipt. https://github.com/RevenueCat/purchases-ios/pull/287
  • New properties added to the PurchaserInfo to better manage non-subscriptions. https://github.com/RevenueCat/purchases-ios/pull/281

3.5.2 - 2020-07-28 21:11:00

  • Feature/defer cache updates if woken from push notification https://github.com/RevenueCat/purchases-ios/pull/288

3.5.1 - 2020-07-22 21:09:08

  • Removes all references to ASIdentifierManager and advertisingIdentifier. This should help with some Kids apps being rejected https://github.com/RevenueCat/purchases-ios/pull/286
  • Fix for posting wrong duration P0D on consumables https://github.com/RevenueCat/purchases-ios/pull/289

3.5.0 - 2020-07-09 18:44:43

3.5.0

  • Added a sample watchOS app to illustrate how to integrate in-app purchases on watchOS with RevenueCat https://github.com/RevenueCat/purchases-ios/pull/263
  • Fixed build warnings from Clang Static Analyzer https://github.com/RevenueCat/purchases-ios/pull/265
  • Added StoreKit Configuration files for local testing + new schemes configured to use them. https://github.com/RevenueCat/purchases-ios/pull/267 https://github.com/RevenueCat/purchases-ios/pull/270
  • Added GitHub Issue Templates https://github.com/RevenueCat/purchases-ios/pull/269

3.4.0 - 2020-06-09 19:44:51

3.4.0

  • Added proxyKey, useful for kids category apps, so that they can set up a proxy to send requests through. Do not use this unless you've talked to RevenueCat support about it. https://github.com/RevenueCat/purchases-ios/pull/258
  • Added managementURL to purchaserInfo. This provides an easy way for apps to create Manage Subscription buttons that will correctly redirect users to the corresponding subscription management page on all platforms. https://github.com/RevenueCat/purchases-ios/pull/259
  • Extra fields sent to the post receipt endpoint: normal_duration, intro_duration and trial_duration. These will feed into the LTV model for more accurate LTV values. https://github.com/RevenueCat/purchases-ios/pull/256
  • Fixed a bug where if the appUserID was not found in NSUserDefaults and createAlias was called, the SDK would create an alias to (null). https://github.com/RevenueCat/purchases-ios/pull/255
  • Added mParticle as an option for attribution. https://github.com/RevenueCat/purchases-ios/pull/251
  • Fixed build warnings for Mac Catalyst https://github.com/RevenueCat/purchases-ios/pull/247
  • Simplified Podspec and minor cleanup https://github.com/RevenueCat/purchases-ios/pull/248

3.3.1 - 2020-05-14 17:46:18

3.3.1

  • Fixed version numbers that accidentally included the -SNAPSHOT suffix

3.3.0 - 2020-05-13 20:12:27

3.3.0

  • Reorganized file system structure for the project https://github.com/RevenueCat/purchases-ios/pull/242
  • New headers for observer mode and platform version https://github.com/RevenueCat/purchases-ios/pull/237 https://github.com/RevenueCat/purchases-ios/pull/240 https://github.com/RevenueCat/purchases-ios/pull/241
  • Fixes subscriber attributes migration edge cases https://github.com/RevenueCat/purchases-ios/pull/233
  • Autodetect appUserID deletion https://github.com/RevenueCat/purchases-ios/pull/232 https://github.com/RevenueCat/purchases-ios/pull/236
  • Removes old trello link https://github.com/RevenueCat/purchases-ios/pull/231
  • Removes unused functions https://github.com/RevenueCat/purchases-ios/pull/228
  • Removes unnecessary no-op call to RCBackend's postSubscriberAttributes https://github.com/RevenueCat/purchases-ios/pull/227
  • Fixes a bug where subscriber attributes are deleted when an alias is created. https://github.com/RevenueCat/purchases-ios/pull/222
  • Fixes crash when payment.productIdentifier is nil https://github.com/RevenueCat/purchases-ios/pull/226
  • Updates invalidatePurchaserInfoCache docs https://github.com/RevenueCat/purchases-ios/pull/223

3.2.2 - 2020-04-01 20:20:33

3.2.2

  • Fixed build warnings about nil being passed to callees that require non-null parameters https://github.com/RevenueCat/purchases-ios/pull/216

3.2.1 - 2020-03-25 22:05:31

3.2.1

  • Fixed build warnings on tvOS and API availability checks https://github.com/RevenueCat/purchases-ios/pull/212

3.1.2 - 2020-03-20 18:56:32

3.1.2

  • Added an extra method, setPushTokenString, to be used by multi-platform SDKs that don't have direct access to the push token as NSData *, but rather as NSString *. https://github.com/RevenueCat/purchases-ios/pull/208

3.1.1 - 2020-03-17 23:29:03

3.1.1

  • small fixes to docs and release scripts:

    • the release script was referencing a fastlane lane that was under the group ios, so it needs to be called with ios first
    • the docs for setPushToken in RCPurchases.m say to pass an empty string or nil to erase data, however since the param is of type NSData, you can't pass in an empty string.

    https://github.com/RevenueCat/purchases-ios/pull/203

3.1.0 - 2020-03-16 23:40:38

3.1.0

  • Added Subscriber Attributes, which allow developers to store additional, structured information for a user in RevenueCat. More info: https://docs.revenuecat.com/docs/user-attributes. https://github.com/RevenueCat/purchases-ios/pull/196
  • Fixed an issue where the completion block of purchaserInfoWithCompletion would get called more than once if cached information existed and was stale. https://github.com/RevenueCat/purchases-ios/pull/199
  • Exposed original_purchase_date, which can be useful for migrating data for developers who don't increment the build number on every release and therefore can't rely on it being different on all releases.
  • Addressed a couple of build warnings: https://github.com/RevenueCat/purchases-ios/pull/200

3.0.4 - 2020-02-13 19:51:44

3.0.4

  • Fixed an issue where Swift Package Manager didn't pick up the new Caching group from 3.0.3 https://github.com/RevenueCat/purchases-ios/issues/176

3.0.3 - 2020-02-13 21:07:30

3.0.3

  • Added new method to invalidate the purchaser info cache, useful when promotional purchases are granted from outside the app. https://github.com/RevenueCat/purchases-ios/pull/168
  • Made sure we dispatch offerings, and purchaser info https://github.com/RevenueCat/purchases-ios/pull/146

3.0.2 - 2020-01-20 19:40:27

Fixes an issue where Apple Search Ads attribution information would be sent even if the user hadn't clicked on a search ad.

- 2019-12-17 22:01:33

  • Adds observer_mode to the backend post receipt call.

3.0.0 - 2019-11-13 19:17:17

  • Support for new Offerings system.
  • Deprecates makePurchase methods. Replaces with purchasePackage
  • Deprecates entitlements method. Replaces with offerings
  • See our migration guide for more info: https://docs.revenuecat.com/v3.0/docs/offerings-migration
  • Added Purchases. prefix to Swift classes to avoid conflicts https://github.com/RevenueCat/purchases-ios/issues/131
  • Enabled base internationalisation to silence a warning (#119)
  • Migrates tests to Swift 5 (#138)
  • New identity changes (#133):
    • The .createAlias() method is no longer required, use .identify() instead
    • .identify() will create an alias if being called from an anonymous ID generated by RevenueCat
    • Added an isAnonymous property to Purchases.shared
    • Improved offline use

2.6.1 - 2019-11-05 22:19:39

  • Support for Swift Package Manager
  • Adds a conditional to protect against nil products or productIdentifier (https://github.com/RevenueCat/purchases-ios/pull/129)

3.0.0 Beta 3 - 2019-10-31 23:48:58

  • Enabled base internationalisation to silence a warning (#119)
  • Migrates tests to Swift 5 (#138)
  • New identity changes (#133):
    • The .createAlias() method is no longer required, use .identify() instead
    • .identify() will create an alias if being called from an anonymous ID generated by RevenueCat
    • Added an isAnonymous property to Purchases.shared
    • Improved offline use

3.0.0 Beta 2 - 2019-10-25 20:43:00

  • Fixes crash when there is a transaction in the queue that refers to a removed product https://github.com/RevenueCat/purchases-ios/issues/135
  • All offerings can be accessed by doing offerings.all on an RCOfferings object https://github.com/RevenueCat/purchases-ios/pull/137
  • Added Purchases. prefix to Swift classes to avoid conflicts https://github.com/RevenueCat/purchases-ios/issues/131

3.0.0 Beta - 2019-09-27 23:09:06

  • Support for new Offerings system, currently invite only. Email support@revenuecat.com if interested in access.
  • Deprecates makePurchase methods. Replaces with purchasePackage
  • Deprecates entitlements method. Replaces with offerings
  • See our migration guide for more info: https://docs.revenuecat.com/v3.0/docs/offerings-migration

2.6.0 - 2019-08-21 00:13:54

  • Deprecates activeEntitlements in RCPurchaserInfo and adds entitlements object to RCPurchaserInfo. For more info check out https://docs.revenuecat.com/docs/purchaserinfo

2.5.0 - 2019-07-17 22:44:00

  • BREAKING CHANGE: fixed a typo in addAttributionData Swift's name.
  • Error logs for AppsFlyer if using deprecated rc_appsflyer_id
  • Error logs for AppsFlyer if missing networkUserID