O SDK do Stripe está causando uma falha na construção. O erro específico é:
Tipos de ponteiros de bloco incompatíveis enviando '__strong STPAPIResponseBlock _Nonnull' (também conhecido como 'void (^ __ forte) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)')
ao parâmetro do tipo 'void (^ _Nonnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
O código em que está falhando é o seguinte em 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];
}
Tudo estava funcionando bem - e acredito que o Xcode seja atualizado. Agora eu entendi esse problema. Tentei criar um novo aplicativo a partir do zero, sem nada além do Stripe SDK (instalado via CocoaPods) e que não conseguiu.
Antes de reverter para uma versão anterior do Xcode - qualquer ajuda seria muito apreciada.
fonte
Respostas:
O XCode 11.4 quebrou o pod de distribuição v19.0 e foi corrigido na v19.0.1
para atualizar o pod de distribuição , excluir seu
podfile.lock
e fazerpod install
.fonte
pod install --repo-update
Atualização com correções : "Lançamos as v14.0.1, v15.0.2, v17.0.3 e v19.0.1 nos Cocoapods com correções para esse problema.": Https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716
Informações da postagem mais antiga :
Isso foi corrigido pelo Stripe nesta alteração: https://github.com/stripe/stripe-ios/pull/1526
Se você estiver preso em uma versão mais antiga do Stripe, tente aplicar as duas alterações na sua versão local. (Alterações em https://github.com/stripe/stripe-ios/pull/1526/files ).
fonte
Eu fiz isso:
no Podfile.lock , mudei - Stripe (19.0.0) para - Stripe (19.0.1) e, em seguida, no terminal no diretório do ios, executei "pod update Stripe" . Estou usando a vibração e para mim funcionou.
fonte
Também deparei com isso, mas estou na versão v14 do pod de distribuição. A única opção que posso encontrar para as pessoas na minha posição é voltar ao xcode 11.3.1.
fonte
Você pode definir o SDK de distribuição para a Versão 19.0.1 para corrigir esse problema.
pod 'Stripe', '~> 19.0.1'
OU então atualize seu pod de distribuição para a versão mais recente usando o comando pod update.
fonte
Eu também tinha esse problema, era a atualização do xcode 11.4 e eu estava executando o stripe v15.0.1.
Acabei de atualizar minha versão de distribuição para a v15.0.2. Dependendo da sua versão, você pode verificar isso: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
fonte