[ios] Stripe iOS SDK-호환되지 않는 블록 포인터 유형 전송

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로 롤백하기 전에 도움을 주시면 감사하겠습니다.



답변

엑스 코드 11.4 스트라이프 포드 V19.0을 깨고 그것은 v19.0.1에 고정있어
, 스트라이프 포드를 업그레이드 삭제 당신을 podfile.lock하고 할 pod install.


답변

수정 사항으로 업데이트 : “이 문제에 대한 수정 사항을 적용하여 Cocoads에 v14.0.1, v15.0.2, v17.0.3 및 v19.0.1을 릴리스했습니다.”:
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 내가 변경 한 스트라이프 (19.0.0)를 –– 스트라이프 (19.0.1) 다음 IOS의 디렉토리에있는 터미널에 달렸다 “포드 업데이트 스트라이프를” . 나는 플러터를 사용하고 있으며 나를 위해 일했습니다.


답변

또한 이것에 부딪 쳤지 만 v14 버전의 스트라이프 포드에 있습니다. 내 위치에있는 사람들을 위해 찾을 수있는 유일한 옵션은 xcode 11.3.1로 되 돌리는 것입니다.


답변

이 문제를 해결하기 위해 스트라이프 SDK를 버전 19.0.1로 설정할 수 있습니다.

포드 ‘스트라이프’, ‘~> 19.0.1’

또는 포드 업데이트 명령을 사용하여 스트라이프 포드를 최신 버전으로 업데이트하십시오.


답변

나는이 문제도 가지고 있었고, xcode 11.4 업데이트 였고 스트라이프 v15.0.1을 실행 중이었다.

방금 스트라이프 버전을 v15.0.2로 업데이트했습니다. 버전에 따라 https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716을 확인할 수 있습니다.


답변