web-dev-qa-db-ja.com

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にロールバックする前に、どんな助けもいただければ幸いです。

27
Howard G

私もこの問題を抱えていました。それはxcode 11.4アップデートで、ストライプv15.0.1を実行していました。

ストライプバージョンをv15.0.2に更新しました。バージョンに応じて、これを確認できます: https://github.com/stripe/stripe-ios/issues/1525#issuecomment-604037716

0
Eric Sebastian