Stripe SDK powoduje błąd kompilacji. Konkretny błąd to:
Niezgodne typy wskaźników blokowych wysyłające „__strong STPAPIResponseBlock _Nonnull” (alias „void (^ __ strong) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong))
na parametr typu „void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong) '
Kod, na którym nie działa, jest następujący w 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];
}
Wszystko działało dobrze - i uważam, że Xcode został zaktualizowany. Teraz dostaję ten problem. Próbowałem zbudować nową aplikację od zera, w której nie było nic oprócz Stripe SDK (zainstalowanego za pośrednictwem CocoaPods), ale to nie powiodło się.
Zanim przejdę do wcześniejszej wersji Xcode - każda pomoc będzie mile widziana.
źródło
Odpowiedzi:
XCode 11.4 zepsuł pasek na paski v19.0 i został naprawiony w wersji 19.0.1,
aby zaktualizować pasek na paski, usunąć go
podfile.lock
i zrobićpod install
.źródło
pod install --repo-update
Aktualizacja z poprawkami : „Wydaliśmy wersje 14.0.1, 15.0.2, 17.0.3 i 19.0.1 dla Cocoapods z poprawkami tego problemu.”: Https://github.com/stripe/stripe-ios/issues / 1525 # emisecomment-604037716
Informacje o starszym poście :
Zostało to naprawione przez Stripe w tej zmianie: https://github.com/stripe/stripe-ios/pull/1526
Jeśli utknąłeś na starszej wersji Stripe, możesz spróbować zastosować dwie zmiany w lokalnej wersji. (Zmiany na https://github.com/stripe/stripe-ios/pull/1526/files ).
źródło
Ja to zrobiłem:
w Podfile.lock zmieniłem - Stripe (19.0.0) na - Stripe (19.0.1), a następnie w terminalu w katalogu iOS uruchomiłem „pod update Stripe” . Używam trzepotania i dla mnie to zadziałało.
źródło
Wpadłem również na to, ale jestem na wersji v14 paska na paski. Jedyną opcją, jaką mogę znaleźć dla osób na mojej pozycji, jest powrót do xcode 11.3.1.
źródło
Możesz ustawić pasek SDK do wersji 19.0.1, aby rozwiązać ten problem.
pod „Stripe”, „~> 19.0.1”
LUB w innym przypadku zaktualizuj pasek na pasek do najnowszej wersji za pomocą polecenia aktualizacji pod.
źródło
Miałem też ten problem, była to aktualizacja xcode 11.4 i działał mi pasek v15.0.1.
Właśnie zaktualizowałem moją wersję z paskiem do wersji 15.0.2. W zależności od wersji możesz to sprawdzić: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
źródło