Braintree贝宝授权不适用于iOS> 9

问题描述:

我使用Cocoa Pod将Braintree SDK集成到我的iOS应用程序项目中。 Braintree SDK安装的版本是4.1.3。我遵循Braintree网站(https://developers.braintreepayments.com/guides/paypal/overview/ios/v4)的指南设置自定义按钮,该按钮将启动paypal用户授权过程。在完成web giude建议的一切后,我在装有iOS 8.4的设备上测试了带有沙箱环境的PayPal授权。一切工作完美无瑕,但是当我在装有iOS 9.2的设备上尝试我的应用程序时,我无法使用PayPal授权。我设置项目的一些断点,并发现这种方法,这是在BTAppSwitch.m文件中实现,总是返回NO:此刻的urlBraintree贝宝授权不适用于iOS> 9

- (BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication { 
    for (Class<BTAppSwitchHandler> handlerClass in self.appSwitchHandlers) { 
     if ([handlerClass canHandleAppSwitchReturnURL:url sourceApplication:sourceApplication]) { 
      [handlerClass handleAppSwitchReturnURL:url]; 
      return YES; 
     } 
    } 
    return NO; 
} 

值时,这种方法被称为是与此类似: com.myapp.payments:// onetouch/v1/success?ba_token = BA-HERMES-SANDBOX-TOKEN

有人遇到类似的问题,你是如何克服它的?

我在布伦特里工作。

确保浏览器开关在iOS9上正常工作需要执行几个步骤。

1)确保你已经添加了必需的方案:https://developers.braintreepayments.com/guides/client-sdk/ios/v4#paypal-and-venmo-url-schemes

2)确保委托协议设置正确呈现SFSafariViewController:https://developers.braintreepayments.com/guides/paypal/client-side/ios/v4#implementing-delegate-protocols

+0

我想你的建议,但它不解决问题因为问题是([handlerClass canHandleAppSwitchReturnURL:url sourceApplication:sourceApplication])检查不允许执行自身内部的代码,当我按“结帐”按钮什么也没有发生 –

+0

什么都没有发生我的意思 - (布尔)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication返回NO –

+0

诊断此i ssue对您的整合非常具体。请联系我们的[支持团队](https://support.braintreepayments.com/)以获得进一步的帮助。 –