Stripe iOS SDK - Uyumsuz blok işaretçi türleri gönderme


22

Stripe SDK bir derleme hatasına neden oluyor. Belirli hata:

'__Strong STPAPIResponseBlock _Nonnull' (aka 'void (^ __ güçlü) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)' gönderen uyumsuz blok işaretçi türleri

'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)' türündeki parametreye

Başarısız olduğu kod STPAPIClient.m içinde aşağıdaki ...

- (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];
}

Her şey iyi çalışıyordu - ve sonra Xcode'un güncellendiğine inanıyorum. Şimdi bu sorunu anlıyorum. Stripe SDK (CocoaPods üzerinden yüklü) dışında hiçbir şey olmadan sıfırdan yeni bir uygulama oluşturmaya çalıştım ve bu başarısız oldu.

Xcode'un önceki bir sürümüne dönmeden önce - herhangi bir yardım çok takdir edilecektir.


Bahsetmeliydim - XCode 11.4 çalıştırıyorum ve iOS 13.4'ü hedefliyorum
Howard G

1
Bilgilerinizi yorum eklemek yerine daha fazla bilgi içerecek şekilde düzenleyebilirsiniz.
Westy92

Yanıtlar:


26

XCode 11.4, şerit bölmesini v19.0'ı kırdı ve şerit bölmesini
yükseltmek, silmek podfile.lockve yapmak için v19.0.1'de düzeltildi pod install.


Adımlarınızı deniyorum ama v19.0.1'i kurmuyorum.
Emre Değirmenci

deneyebilirsinizpod install --repo-update
Rohit Funde

11

Düzeltmelerle güncelleme : "Bu sorun için düzeltmeleri olan Cocoapods'a v14.0.1, v15.0.2, v17.0.3 ve v19.0.1 yayınladık.": Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716

Eski gönderi bilgileri :

Bu değişiklik Stripe tarafından şu değişiklikle giderildi: https://github.com/stripe/stripe-ios/pull/1526

Stripe'nin daha eski bir sürümüne takılı kalırsanız, iki değişikliği yerel sürümünüze uygulamayı deneyebilirsiniz. ( Https://github.com/stripe/stripe-ios/pull/1526/files adresindeki değişiklikler ).


7

Bunu ben yaptım:

içinde Podfile.lock i değişti Stripe (19.0.0) - için - Stripe (19.0.1) ve daha sonra ios dizinde terminali koştu "pod güncelleme Stripe" . Çırpınmayı kullanıyorum ve benim için çalıştı.


1

Ayrıca bu koştu, ama şerit kapsül v14 sürümü duyuyorum. Konumumdaki insanlar için bulabileceğim tek seçenek xcode 11.3.1'e geri dönmektir.


3
Stripe pod sürümünüzü 14.0.1'e çarptırabilirsiniz. Bu sürümde düzeltme yayınladılar
kamwoz

0

Bu sorunu gidermek için şerit SDK'nızı Sürüm 19.0.1'e ayarlayabilirsiniz.

'Stripe' bölmesi, '~> 19.0.1'

VEYA pod güncelleme komutuyla şerit bölmenizi en son sürüme güncelleyin.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.