El SDK de Stripe está causando un error de compilación. El error específico es:
Tipos de puntero de bloque incompatibles que envían '__strong STPAPIResponseBlock _Nonnull' (también conocido como 'void (^ __ strong) (ResponseType _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)')
al parámetro de tipo 'void (^ _Nnnull) (STPSource * _Nullable __strong, NSHTTPURLResponse * _Nullable __strong, NSError * _Nullable __strong)'
El código en el que falla es el siguiente dentro de 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];
}
Todo funcionaba bien, y luego creo que Xcode se actualizó. Ahora tengo este problema. Traté de crear una nueva aplicación desde cero sin nada más que el SDK de Stripe (instalado a través de CocoaPods) y eso no pudo.
Antes de volver a una versión anterior de Xcode, cualquier ayuda sería muy apreciada.
fuente
Respuestas:
XCode 11.4 rompió el pod de banda v19.0 y se arregló en v19.0.1
para actualizar el pod de banda, eliminar tu
podfile.lock
y hacerpod install
.fuente
pod install --repo-update
Actualización con correcciones : "Hemos lanzado v14.0.1, v15.0.2, v17.0.3 y v19.0.1 a Cocoapods con correcciones para este problema": https://github.com/stripe/stripe-ios/issues / 1525 # issuecomment-604037716
Información de publicación anterior :
Stripe corrige esto en este cambio: https://github.com/stripe/stripe-ios/pull/1526
Si está atascado en una versión anterior de Stripe, puede intentar aplicar los dos cambios a su versión local. (Cambios en https://github.com/stripe/stripe-ios/pull/1526/files ).
fuente
Hice esto:
en Podfile.lock he cambiado - Stripe (19.0.0) a - Stripe (19.0.1) y luego en la terminal en el directorio de ios ejecutó "pod update Stripe" . Estoy usando flutter y para mí funcionó.
fuente
También me encontré con esto, pero estoy en la versión v14 del pod de rayas. La única opción que puedo encontrar para las personas en mi posición es volver a xcode 11.3.1.
fuente
Puede configurar su SDK de stripe en la Versión 19.0.1 para solucionar este problema.
pod 'Stripe', '~> 19.0.1'
O bien, actualice su pod de banda a la última versión mediante el comando de actualización de pod.
fuente
También tuve este problema, era la actualización xcode 11.4 y estaba ejecutando stripe v15.0.1.
Acabo de actualizar mi versión de stripe a v15.0.2. Dependiendo de su versión, puede verificar esto: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716
fuente