Stripe iOS SDK-发送不兼容的块指针类型


22

Stripe SDK导致构建失败。具体错误是:

不兼容的块指针类型发送'__strong STPAPIResponseBlock _Nonnull'(aka'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的早期版本之前-任何帮助将不胜感激。


我应该提到-我运行的XCode 11.4和定位的iOS 13.4
霍华德摹

1
仅供参考,您可以编辑问题以包括更多信息,而无需添加评论。
Westy92

Answers:


26

XCode 11.4打破了Striped Pod v19.0,并在v19.0.1中修复了该问题,
以升级Stripe Pod,删除your podfile.lock和do pod install


我尝试执行您的步骤,但未安装v19.0.1。
EmreDeğirmenci

你可以试试吗pod install --repo-update
Rohit Funde

11

修复程序更新:“我们已针对Cocoapods发布了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 pod的版本提高到14.0.1。他们发布了该版本的修复程序
kamwoz

0

您可以将Stripe SDK设置为版本19.0.1,以解决此问题。

pod'Stripe','〜> 19.0.1'

或者通过pod update命令将您的条带化pod更新到最新版本。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.