Le SDK Stripe provoque un échec de génération. L'erreur spécifique est:
Types de pointeurs de bloc incompatibles envoyant «__strong STPAPIResponseBlock _Nonnull» (alias «void (^ __ strong) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)»))
au paramètre de type 'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
Le code sur lequel il échoue est le suivant dans STPAPIClient.m ...
- (NSURLSessionDataTask *)retrieveSourceWithId:(NSString *)identifier clientSecret:(NSString *)secret responseCompletion:(STPAPIResponseBlock)completion {
NSString *endpoint = [NSString stringWithFormat:@"%@/%@", APIEndpointSources, identifier];
NSDictionary *parameters = @{@"client_secret": secret};
return [STPAPIRequest<STPSource *> getWithAPIClient:self
endpoint:endpoint
parameters:parameters
deserializer:[STPSource new]
completion:completion];
}
Tout fonctionnait bien - et je crois que Xcode a été mis à jour. Maintenant, je reçois ce problème. J'ai essayé de créer une nouvelle application à partir de zéro avec rien d'autre que le SDK Stripe (installé via CocoaPods) et cela n'a pas réussi.
Avant de revenir à une version antérieure de Xcode - toute aide serait très appréciée.
la source
Réponses:
XCode 11.4 a cassé le pod stripe v19.0 et il a été corrigé dans la version 19.0.1
pour mettre à niveau le pod stripe, supprimez votre
podfile.lock
et faitespod install
.la source
pod install --repo-update
Mise à jour avec correctifs : "Nous avons publié les versions 14.0.1, v15.0.2, v17.0.3 et v19.0.1 pour Cocoapods avec des correctifs pour ce problème.": Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716
Informations sur les articles plus anciens :
Ceci est corrigé par Stripe dans ce changement: https://github.com/stripe/stripe-ios/pull/1526
Si vous êtes bloqué sur une ancienne version de Stripe, vous pouvez essayer d'appliquer les deux modifications à votre version locale. (Modifications sur https://github.com/stripe/stripe-ios/pull/1526/files ).
la source
J'ai fait ça:
dans Podfile.lock j'ai changé - Stripe (19.0.0) en - Stripe (19.0.1) puis dans le terminal dans le répertoire d'ios, j'ai exécuté "pod update Stripe" . J'utilise le flottement et pour moi, cela a fonctionné.
la source
J'ai également rencontré cela, mais je suis sur la version v14 du pod stripe. La seule option que je peux trouver pour les personnes dans ma position est de revenir à xcode 11.3.1.
la source
Vous pouvez définir votre SDK stripe sur la version 19.0.1 pour résoudre ce problème.
pod 'Stripe', '~> 19.0.1'
OU sinon mettez à jour votre pod stripe vers la dernière version par la commande de mise à jour du pod.
la source
J'ai aussi eu ce problème, c'était la mise à jour de xcode 11.4 et j'utilisais Stripe v15.0.1.
Je viens de mettre à jour ma version Stripe à v15.0.2. Selon votre version, vous pouvez vérifier cela: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
la source