Stripe iOS SDK - Invio di tipi di puntatore a blocchi incompatibili


22

Stripe SDK sta causando un errore di compilazione. L'errore specifico è:

Tipi di puntatori di blocco incompatibili che inviano '__strong STPAPIResponseBlock _Nonnull' (aka 'void (^ __ strong) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)')

al parametro di tipo 'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'

Il codice su cui non funziona è il seguente in 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];
}

Tutto funzionava bene - e quindi credo che Xcode sia stato aggiornato. Ora ho questo problema. Ho provato a creare una nuova app da zero senza altro al di fuori di Stripe SDK (installato tramite CocoaPods) e non ci sono riuscito.

Prima di tornare a una versione precedente di Xcode, qualsiasi aiuto sarebbe molto apprezzato.


Avrei dovuto menzionarlo - sto eseguendo XCode 11.4 e ho come target iOS 13.4
Howard G

1
Cordiali saluti, è possibile modificare una domanda per includere più informazioni invece di aggiungere commenti.
Westy92,

Risposte:


27

XCode 11.4 ha rotto lo stripe pod v19.0 ed è stato risolto nella v19.0.1
per aggiornare lo stripe pod, eliminare il tuo podfile.locke fare pod install.


Provo i tuoi passaggi ma non installo v19.0.1.
Emre Değirmenci,

puoi provarepod install --repo-update
Rohit Funde,

11

Aggiornamento con correzioni : "Abbiamo rilasciato v14.0.1, v15.0.2, v17.0.3 e v19.0.1 a Cocoapods con correzioni per questo problema.": Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604.037.716

Informazioni sui post precedenti :

Questo problema è stato risolto da Stripe in questa modifica: https://github.com/stripe/stripe-ios/pull/1526

Se sei bloccato su una versione precedente di Stripe, puoi provare ad applicare le due modifiche alla tua versione locale. (Modifiche a https://github.com/stripe/stripe-ios/pull/1526/files ).


7

L'ho fatto:

in Podfile.lock ho cambiato - Stripe (19.0.0) in - Stripe (19.0.1) e poi nel terminale nella directory di ios ho eseguito "pod update Stripe" . Sto usando il flutter e per me ha funzionato.


1

Mi sono imbattuto anche in questo, ma sono sulla versione v14 del pod stripe. L'unica opzione che posso trovare per le persone nella mia posizione è di tornare a xcode 11.3.1.


3
Puoi portare la versione del tuo pod Stripe su 14.0.1. Hanno rilasciato la correzione in quella versione
kamwoz il

0

È possibile impostare l'SDK stripe sulla versione 19.0.1 per risolvere questo problema.

pod "Stripe", "~> 19.0.1"

O altrimenti aggiorna il tuo pod stripe all'ultima versione con il comando di aggiornamento pod.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.