adaptyteam / AdaptySDK-React-Native

React Native SDK for growing in-app subscriptions
https://docs.adapty.io/docs/quickstart
MIT License
122 stars 12 forks source link

[IOS 17] requestSubscripition infinite loop #98

Open buraksecer opened 10 months ago

buraksecer commented 10 months ago

Description

The payment-required pop-up opens from the bottom. We make the payment, then the same pop-up reopens without returning the result of the payment, entering an infinite loop.

We think this issue is related to the new iOS version(17).

We've encountered the same problem with other libraries as well.

Version

v2.7.0

What platforms are you seeing the problem on?

iOS

System info

Usage: react-native [command] [options]

Options:
  -v                                         Output the current version
  --verbose                                  Increase logging verbosity
  -h, --help                                 display help for command

Commands:
  init [options] <projectName>               Initialize a new React Native project named <projectName> in a directory of the same name.
  doctor [options]                           Diagnose and fix common Node.js, iOS, Android & React Native issues.
  bundle [options]                           builds the javascript bundle for offline use
  ram-bundle [options]                       builds javascript as a "Random Access Module" bundle for offline use
  start [options]                            starts the webserver
  config                                     Print CLI configuration
  clean [options]                            Cleans your project by removing React Native related caches and modules.
  info                                       Get relevant version info about OS, toolchain and libraries
  upgrade [version]                          Upgrade your app's template files to the specified or latest npm version using `rn-diff-purge` project. Only valid semver versions are allowed.
  profile-hermes [options] [destinationDir]  Pull and convert a Hermes tracing profile to Chrome tracing profile, then store it in the directory <destinationDir> of the local machine
  log-ios                                    starts iOS device syslog tail
  run-ios [options]                          builds your app and starts it on iOS simulator
  log-android                                starts logkitty
  run-android [options]                      builds your app and starts it on a connected Android emulator or device
  build-android [options]                    builds your app
  clean-project-auto                         fully automated project state clean: like a freshly-cloned, never-started repo
  clean-project                              interactive project state clean: choose types of react-native state to clean
  setup-ios-permissions                      Update react-native-permissions podspec to link additional permission handlers.
  help [command]                             display help for command
divanc commented 10 months ago

Hey! Thank you for raising this! Are you on the latest Xcode (or what version)?

We'll try to reproduce it, but we might need your native logs a little bit later if we fail

efstathiosntonas commented 3 months ago

I just got this issue today on 2.10.1 on iOS simulator 17.5.

Yesterday it was working fine but, when I entered today to notification server url on appstoreconnect.com the loop started. If this make sense, I've added the same url on production and sandbox. Don't know if notification url is the issue here but this is the only change I had since yesterday.

ps. In app settings on adapty dashboard, it's stuck on Waiting Notification hasn't been received yet, using V2 version, Apple In-App Purchase API (StoreKit 2) configured as per docs. (it's been over 1hr since I entered the url in appstoreconnect).

efstathiosntonas commented 3 months ago

This is the error Xcode throws:


 Payment completed with error: Error Domain=ASDErrorDomain Code=907 "(null)"
....
....
....
NSLocalizedFailureReason=Payment sheet dismissed with neither an error nor a result```