Das Stripe SDK verursacht einen Build-Fehler. Der spezifische Fehler ist:
Inkompatible Blockzeigertypen, die '__strong STPAPIResponseBlock _Nonnull' senden (auch bekannt als 'void (^ __ strong)) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)')
zum Parameter vom Typ 'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
Der Code, bei dem ein Fehler auftritt, ist der folgende 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];
}
Alles hat gut funktioniert - und dann glaube ich, dass Xcode aktualisiert wurde. Jetzt bekomme ich dieses Problem. Ich habe versucht, eine neue App von Grund auf neu zu erstellen, in der nichts anderes als das Stripe SDK (über CocoaPods installiert) enthalten ist.
Bevor ich zu einer früheren Version von Xcode zurückkehre, wäre jede Hilfe sehr dankbar.
quelle
Antworten:
XCode 11.4 hat den Stripe Pod v19.0 beschädigt und in v19.0.1 behoben
, um den Stripe Pod zu aktualisieren, Ihren zu löschen
podfile.lock
und zu tunpod install
.quelle
pod install --repo-update
Update mit Korrekturen : "Wir haben v14.0.1, v15.0.2, v17.0.3 und v19.0.1 für Cocoapods mit Korrekturen für dieses Problem veröffentlicht.": Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716
Ältere Postinfo :
Dies wird von Stripe in dieser Änderung behoben: https://github.com/stripe/stripe-ios/pull/1526
Wenn Sie mit einer älteren Version von Stripe nicht weiterkommen, können Sie versuchen, die beiden Änderungen auf Ihre lokale Version anzuwenden. (Änderungen unter https://github.com/stripe/stripe-ios/pull/1526/files ).
quelle
Ich war das:
in Podfile.lock habe ich - Stripe (19.0.0) in - Stripe (19.0.1) geändert und dann im Terminal im Verzeichnis von ios "pod update Stripe" ausgeführt . Ich benutze Flattern und für mich hat es funktioniert.
quelle
Auch in diese gelaufen, bin aber auf der v14-Version des Stripe Pod. Die einzige Option, die ich für Personen in meiner Position finden kann, ist die Rückkehr zu xcode 11.3.1.
quelle
Sie können Ihr Stripe-SDK auf Version 19.0.1 einstellen, um dieses Problem zu beheben.
pod 'Stripe', '~> 19.0.1'
ODER aktualisieren Sie Ihren Stripe-Pod mit dem Befehl pod update auf die neueste Version.
quelle
Ich hatte auch dieses Problem, es war Xcode 11.4 Update und ich lief Stripe v15.0.1.
Ich habe gerade meine Stripe-Version auf v15.0.2 aktualisiert. Abhängig von Ihrer Version können Sie dies überprüfen: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
quelle