RevenueCat / purchases-ios

In-app purchases and subscriptions made easy. Support for iOS, watchOS, tvOS, macOS, and visionOS.
https://www.revenuecat.com/
MIT License
2.22k stars 295 forks source link

Offerings returns available offerings, then doesn't use them #3888

Closed b-nnett closed 2 months ago

b-nnett commented 2 months ago

When initiating the package, it successfully loads my plans (logs: ["pc_199_1w", "pc_499_1m"]), but in simaltaneous requests claims Error fetching offerings - The operation couldn’t be completed / There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).

  1. Environment
    1. Platform: iOS
    2. SDK version: Latest (4.41.1)
    3. StoreKit version:
      • [x] StoreKit 1
      • [ ] StoreKit 2 (enabled with usesStoreKit2IfAvailable(true))
    4. OS version: 16.7
    5. Xcode version: 15.3
    6. Device and/or simulator:
      • [ ✅] Device
      • [ ] Simulator
    7. Environment:
      • [ ] Sandbox
      • [ ] TestFight
      • [x] Production
    8. How widespread is the issue. Percentage of devices affected.
  2. Debug logs that reproduce the issue. Complete logs with Purchases.logLevel = .verbose will help us debug this issue.
2024-05-13 17:42:43.720680+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite.
2024-05-13 17:42:43.784628+0100 profit-cam[1389:76204] [identity] DEBUG: 👤 Identifying App User ID
2024-05-13 17:42:43.790005+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ Debug logging enabled
2024-05-13 17:42:43.790043+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ SDK Version - 4.41.1
2024-05-13 17:42:43.790064+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ Bundle ID - com.nyneapps.profit-cam
2024-05-13 17:42:43.790261+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ System Version - Version 16.7 (Build 20H19)
2024-05-13 17:42:43.790280+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ Not using a simulator.
2024-05-13 17:42:43.790294+0100 profit-cam[1389:76204] [configure] DEBUG: 👤 No initial App User ID
2024-05-13 17:42:43.790308+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ Purchases is configured with response verification disabled
2024-05-13 17:42:43.839225+0100 profit-cam[1389:76234] [Default] Error enumerating unfinished transactions for first transaction listener: Error Domain=ASDErrorDomain Code=509 "No active account" UserInfo={NSLocalizedDescription=No active account}
2024-05-13 17:42:43.862578+0100 profit-cam[1389:76204] [configure] DEBUG: ℹ️ applicationWillEnterForeground
2024-05-13 17:42:43.873668+0100 profit-cam[1389:76204] [offering] DEBUG: ℹ️ Offerings cache is stale, updating from network in foreground
2024-05-13 17:42:43.874619+0100 profit-cam[1389:76224] [network] DEBUG: ℹ️ GetOfferingsOperation: Started
2024-05-13 17:42:43.877695+0100 profit-cam[1389:76224] [network] DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871/offerings
2024-05-13 17:42:43.881375+0100 profit-cam[1389:76224] [network] DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871/offerings'
2024-05-13 17:42:44.152919+0100 profit-cam[1389:76204] [offering] DEBUG: ℹ️ No cached Offerings, fetching from network
2024-05-13 17:42:44.214475+0100 profit-cam[1389:76227] [network] DEBUG: ℹ️ Network operation 'GetOfferingsOperation' found with the same cache key 'GetOfferingsOpe…'. Skipping request.
2024-05-13 17:42:44.214594+0100 profit-cam[1389:76227] [network] DEBUG: ℹ️ Network operation 'GetOfferingsOperation' found with the same cache key 'GetOfferingsOpe…'. Skipping request.
2024-05-13 17:42:44.226625+0100 profit-cam[1389:76224] [Default] Error enumerating unfinished transactions: Error Domain=ASDErrorDomain Code=509 "No active account" UserInfo={NSLocalizedDescription=No active account}
2024-05-13 17:42:44.592158+0100 profit-cam[1389:76234] [network] DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871/offerings' (304)
2024-05-13 17:42:44.600382+0100 profit-cam[1389:76234] [store_kit] DEBUG: ℹ️ No existing products cached, starting store products request for: ["pc_499_1m", "pc_199_1w"]
2024-05-13 17:42:44.601283+0100 profit-cam[1389:76234] [offering] DEBUG: ℹ️ Found an existing request for products: ["pc_199_1w", "pc_499_1m"], appending to completion
2024-05-13 17:42:44.601367+0100 profit-cam[1389:76234] [offering] DEBUG: ℹ️ Found an existing request for products: ["pc_499_1m", "pc_199_1w"], appending to completion
2024-05-13 17:42:44.601447+0100 profit-cam[1389:76234] [network] DEBUG: ℹ️ GetOfferingsOperation: Finished
2024-05-13 17:42:44.601667+0100 profit-cam[1389:76234] [network] DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871/offerings, 0 requests left in the queue
2024-05-13 17:42:44.602114+0100 profit-cam[1389:76228] [network] DEBUG: ℹ️ GetCustomerInfoOperation: Started
2024-05-13 17:42:44.605806+0100 profit-cam[1389:76228] [network] DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871
2024-05-13 17:42:44.606608+0100 profit-cam[1389:76228] [network] DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871'
2024-05-13 17:42:44.814988+0100 profit-cam[1389:76226] [network] DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871' (304)
2024-05-13 17:42:44.845161+0100 profit-cam[1389:76226] [customer] DEBUG: ℹ️ Sending latest CustomerInfo to delegate.
2024-05-13 17:42:44.845334+0100 profit-cam[1389:76226] [customer] DEBUG: 😻 CustomerInfo updated from network.
2024-05-13 17:42:44.845491+0100 profit-cam[1389:76226] [network] DEBUG: ℹ️ GetCustomerInfoOperation: Finished
2024-05-13 17:42:44.845794+0100 profit-cam[1389:76226] [network] DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A3f0795dcafe64d9fa5b41c58baef6871, 0 requests left in the queue
2024-05-13 17:42:45.298998+0100 profit-cam[1389:76227] [store_kit] DEBUG: 😻 Store products request received response
2024-05-13 17:42:45.298998+0100 profit-cam[1389:76234] [store_kit] DEBUG: 😻 Store products request finished
2024-05-13 17:42:45.312526+0100 profit-cam[1389:76227] [offering] ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)
There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). 
More information: https://rev.cat/why-are-offerings-empty
2024-05-13 17:42:45.313169+0100 profit-cam[1389:76227] [offering] ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)
There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). 
More information: https://rev.cat/why-are-offerings-empty
  1. Steps to reproduce, with a description of expected vs. actual behavior

Latest SDK, iOS 16.4, initaited:

    init() {
        Purchases.logLevel = .verbose
        Purchases.configure(withAPIKey: "...", appUserID: nil)
    }
RCGitBot commented 2 months ago

👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!

kmurphy-rc commented 2 months ago

Hey @b-nnett! If this is occurring in production and you just launched your app, it may take some time for products to propagate the App Store servers. We recommend waiting at least 24 hours after releasing your app for the first time before attempting to make purchases: https://www.revenuecat.com/docs/launch-checklist

Otherwise, it's most likely related to a configuration or setup issue in Apple. I'd recommend having a look through the guide we link in the error message that outlines the common reasons for this here: https://community.revenuecat.com/sdks-51/why-are-offerings-or-products-empty-124

If you're still getting the error and everything on that list looks correct, can you open a support ticket with us from https://app.revenuecat.com/settings/support

Thanks!

github-actions[bot] commented 1 month ago

This issue has been automatically locked due to no recent activity after it was closed. Please open a new issue for related reports.