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


22

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을 실행하고 아이폰 OS 13.4 목표로하고 있습니다
하워드 G

1
참고로 의견을 추가하는 대신 추가 정보를 포함하도록 질문을 편집 할 수 있습니다.
Westy92

답변:


26

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


나는 당신의 단계를 시도하지만 v19.0.1을 설치하지 않습니다.
Emre Değirmenci

당신은 시도 할 수 있습니다pod install --repo-update
Rohit Funde

11

수정 사항으로 업데이트 : "이 문제에 대한 수정 사항을 적용하여 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 에서 변경됩니다 .


7

나는 이걸했다:

Podfile.lock 내가 변경 한 스트라이프 (19.0.0)를 -- 스트라이프 (19.0.1) 다음 IOS의 디렉토리에있는 터미널에 달렸다 "포드 업데이트 스트라이프를" . 나는 플러터를 사용하고 있으며 나를 위해 일했습니다.


1

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


3
Stripe 포드 버전을 14.0.1로 올릴 수 있습니다. 그들은 그 버전에서 수정을 발표했다
kamwoz

0

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

포드 '스트라이프', '~> 19.0.1'

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


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.