Stripe SDK вызывает сбой сборки. Конкретная ошибка:
Несовместимые типы указателей блоков, отправляющие «__strong STPAPIResponseBlock _Nonnull» (иначе void (^ __ strong) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong) ')
к параметру типа 'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
Код, на котором происходит сбой, следующий в 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];
}
Все работало нормально - и тогда, я думаю, Xcode обновился. Теперь я понимаю эту проблему. Я попытался создать новое приложение с нуля, в котором ничего не было, кроме Stripe SDK (установленного через CocoaPods), но это не удалось.
Прежде чем я вернусь к более ранней версии Xcode - любая помощь будет принята с благодарностью.
источник
Ответы:
XCode 11.4 сломал стрип-стрип v19.0, и он был исправлен в v19.0.1,
чтобы обновить стрип-стрип , удалить ваш
podfile.lock
и сделатьpod install
.источник
pod install --repo-update
Обновление с исправлениями : «Мы выпустили версии 14.0.1, v15.0.2, v17.0.3 и v19.0.1 для Cocoapods с исправлениями для этой проблемы.»: Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716
Старая информация о посте :
Это исправлено Stripe в этом изменении: https://github.com/stripe/stripe-ios/pull/1526
Если вы застряли на более старой версии Stripe, вы можете попробовать применить эти два изменения к вашей локальной версии. (Изменения на https://github.com/stripe/stripe-ios/pull/1526/files ).
источник
Я сделал это:
в Podfile.lock я изменил - Stripe (19.0.0) на - Stripe (19.0.1), а затем в терминале в каталоге ios запустил «pod update Stripe» . Я использую флаттер, и у меня это сработало.
источник
Также столкнулся с этим, но я на версии v14 стручка полосы. Единственный вариант, который я могу найти для людей в моем положении, это вернуться к Xcode 11.3.1.
источник
Чтобы устранить эту проблему, вы можете установить в Stripe SDK версию 19.0.1.
модуль 'Stripe', '~> 19.0.1'
ИЛИ еще обновите свой стрип-модуль до последней версии с помощью команды обновления.
источник
У меня была эта проблема тоже, это было обновление XCode 11.4, и я работал Stripe v15.0.1.
Я только что обновил свою версию Stripe до версии 15.0.2. В зависимости от вашей версии вы можете проверить это: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
источник