expo: [expo-payments-stripe] Stripe pod does not compile on Xcode 11.4
š Bug Report
Environment
Iāve installed expo-payments-stripe
on a bare React Native setup with react-native-unimodules
set up and configured.
I encounter an error when building for iOS as outlined in this Stripe Issue: https://github.com/stripe/stripe-ios/issues/1525
Steps to Reproduce
- Install the latest version of
expo-payments-stripe
(e.g.,yarn add expo-payments-stripe
) - Navigate to the
ios
folder and runpod install
- youāll notice that version 13.2.0 of the Stripe SDK pod is installed. - Try to build the app (e.g.,
yarn start
)
Expected Behavior
The project should build without any errors.
Actual Behavior
The project returns a compiler error as outlined in the Stripe issue I mentioned above:
Incompatible block pointer types sending '__strong STPAPIResponseBlock _Nonnull' (aka 'void (^__strong)(ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)') to parameter of type 'void (^ _Nonnull)(STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
Reproducible Demo
Iām going to skip this step because I feel itās unnecessary in this particular case. The issue is not with the project and does not need to be troubleshooted. Itās simply relying on an outdated dependency that needs to be fixed.
It seems that the next supported version on Stripe is version 14.0.1 which is just one version removed from the current one. Iāve found Stripeās changelog for that update here.
Iāve also manually changed this line in the plugin to: s.dependency 'Stripe', '~> 14.0.1'
and confirmed that the issue goes away.
Unfortunately Iām just getting started with the package and canāt test whether this has broken any existing functionality yet. Ideally someone with more familiarity with the package could review the few items in the changelog and confirm that itās ok.
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 10
- Comments: 23 (2 by maintainers)
Hey all, I just published
expo-payments-stripe@8.2.2
which includes Stripe at~> 14.0.1
by default ā this should get rid of that nasty problem. Thank you for your patience!I can confirm this, itās even working with xcode 11.5. Thanks so much for your time on this @sjchmiela
This is our experience so far. We recently ejected expo to integrate with expo-payments-stripe which didnāt work. Then tried with tipsi-stripe. Tipsi-stripe didnāt work as well because it is relying on some of very old components from 2017. Since we could not downgrade, tipsi-stripe didnāt work, specially for Google pay.
We end up integrating Stripe official native components using custom react native bridging⦠Very painful process and we spend months just to figure out that expo-payments-stripe and tipsi-stripe does not work with latest frameworksā¦