Solved

iOS 15/Xcode 13 [[RCPurchases sharedPurchases] offeringsWithCompletionBlock:] is never called

  • 24 September 2021
  • 33 replies
  • 2148 views


Show first post

33 replies

Userlevel 1
Badge +3

Seems like it’s a weird issue related to:

  1. This sandbox account
  2. This device
  3. iOS 15

This seems to have resolved it currently:

  • Settings | App Store | Sandbox Account | Sign Out
  • Reboot
  • Run app and try to make/restore a purchase
  • Sign in with a different sandbox account

The original sandbox account works fine on iOS 14, and still causes an issue if I log back in with it.

We’ve been trying to reproduce this, and I’ve been digging around seeing if other folks have the same issue. This is super weird, but I think it might be `StoreKit` side- as in, this appears to be an Apple problem 😿
 

 

@ryan’s response looks like it applies to your current situation, specifically 

The “Requesting products from the store with identifiers: … “ log message indicates that the product IDs were fetched successfully from RevenueCat and now a request is being made from the device to Apple to return the products with those IDs.

 

The fact that restarting the device or resetting it then allows it to work makes sense. IIRC StoreKit uses XPC to communicate with other device services to make the requests. If something happens between other services like something dies, or just spins, the XPC can timeout or just hang without any more information passed back about the situation. This is totally just speculation.

Since we can’t reproduce on our side, one thing you could try is to take those product ids that you have and manually request the products from Apple via StoreKit and see if the same thing happens. I’m still going through our code to double-check for potential issues.

Userlevel 1
Badge +3

Erase All Content and Settings briefly resolved the issue, but soon returned to only working after reboot.

Userlevel 1
Badge +3

@taquitos exactly the same issue with 4.0.0-beta.3.

Fails on iOS 15, except for once after a reboot.

Works on iOS 14 consistently.

Re:  Property '<property>' cannot be found in forward class object 'SKProduct'.

We were just talking about this Friday, I think what is happening is that we used to expose StoreKit in our headers. So that meant you didn’t have to import them yourself. With Swift, there’s no nice way to do this, so you’ll have to @import StoreKit where you use any of our API that uses StoreKit objects 😬

 

We’re still working on this, one solution is that we might end up changing our API to wrap StoreKit objects so you don’t have to @import StoreKit

 

 

Badge +3

Was wondering for the last 6 hours what was going on but same issue here as well.. Hopefully there is a fix soon :sweat_smile:

[✓] Flutter (Channel stable, 2.5.1, on macOS 11.4 20F71 darwin-x64, locale en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.60.1)
[✓] Connected device (2 available)
 

Pubspec: purchases_flutter: ^3.4.5

Phone: iPhoneX (iOS 15.0)

Userlevel 1
Badge +3

@taquitos do you have any further info in integration 4.0.0-beta.3 with Objective C?

I have been following this: https://github.com/RevenueCat/purchases-ios/blob/main/docs/V4_API_Updates.md

I’m getting a whole lot of Property '<property>' cannot be found in forward class object 'SKProduct'.

Thanks for reporting! While we look into this, have you given the RevenueCat version 4 beta a try (`4.0.0-beta.3`)? All of the code that you’re interacting with has changed in the beta. If you’re up for trying it, having data on whether this is still impacting you after switching to v4 would definitely help us narrow down any possible issues in the current release.

 

Reply