Swift应用程序中的Stripe iOS库导致无法识别的选择器错误

时间:2014-11-09 22:56:46

标签: ios objective-c swift stripe-payments applepay

我正在尝试使用Stripe将Apple Pay添加到Swift应用中。我关注Stripe's guide。我已经创建了一个演示回购来演示下面发现的错误。

我添加了Stripe库,链接了必要的Apple库,添加了Objective-C桥接头,添加了Stripe Publishable Key,启用了Stripe Enable ApplePay宏,并启用了ApplePay权利。

当我尝试创建实际付款请求时出现问题:

 var request: PKPaymentRequest = Stripe.paymentRequestWithMerchantIdentifier("merchant.fm.kenneth.donate")

My repository详细解释了这一点。

当我构建应用时,会导致以下错误:

2014-11-09 13:59:33.576 stripeTest2[22128:904179] 
+[Stripe paymentRequestWithMerchantIdentifier:]: 
unrecognized selector sent to class 0x10910a210

2014-11-09 13:59:33.579 stripeTest2[22128:904179] *** 
Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '+[Stripe paymentRequestWithMerchantIdentifier:]: 
unrecognized selector sent to class 0x10910a210'

我假设桥接到Stripe库中的Objective-C代码一定存在问题。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

这是一个有趣的案例。似乎__IPHONE_OS_VERSION_MAX_ALLOWED没有为纯Swift应用程序定义,因此ApplePay代码没有被编译。

由于此检查并非严格必要(如果你#define STRIPE_ENABLE_APPLEPAY但你的基本SDK早于iOS8,这基本上是程序员错误),我已经从我们的SDK中取出了这些检查(我是工程师在条纹)。如果你去获取最新版本(2.2.2),那么事情应该对你有用(我克隆了你的回购并测试了这个改变,看起来似乎没事。)

感谢您注意这一点!

杰克

答案 1 :(得分:0)

如果我发现你添加" Stripe + ApplePay.h"它也会有所帮助。你的桥头。