我想将用于付款的venmo库集成到iOS应用中。

我通过遵循venmo github project创建了一个演示。

按照下面的github项目上的描述是在浏览器中显示venmo app / open venmo的代码:

- (IBAction)payButtonPressed:(UIButton *)sender
{
    // App crashes here. Does not crash if I comment this line.
    venmoClient = [VenmoClient clientWithAppId:AppId secret:AppSecret];

    VenmoTransaction *venmoTransaction = [[VenmoTransaction alloc] init];
    venmoTransaction.type = VenmoTransactionTypePay;
    venmoTransaction.amount = [NSDecimalNumber decimalNumberWithString:@"5"];
    venmoTransaction.note = @"Payment for something";
    venmoTransaction.toUserHandle = @"Name";

    VenmoViewController *venmoViewController = [venmoClient viewControllerWithTransaction:
                                                venmoTransaction];
    if (venmoViewController) {
        [self presentViewController:venmoViewController animated:YES completion:nil];
    }
}

当我运行项目时,它在方法的第一行崩溃。如果我将其注释掉,则不会崩溃。

以下是它引发的错误消息:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSBundle名称]:无法识别的选择器已发送到实例0x17556e00”

有人用过venmo吗?

更新:我从venmo-ios-sdk下载了项目。打开示例项目并尝试运行。但它甚至不编译。

另外,我还尝试通过添加venmo ios sdk创建一个新的演示。根据gihub自述文件,我必须添加

pod'venmo-ios-sdk',:git =>'https://github.com/venmo/venmo-ios-sdk'

到Podfile。但这会引发错误:

[!]指定的podspec Venmo-iOS-SDK的名称与预期的venmo-ios-sdk不匹配

然后我尝试添加

pod'Venmo-iOS-SDK',:git =>'https://github.com/venmo/venmo-ios-sdk'

并允许安装。

现在,根据教程,有2种付款方式。
  • 切换到Venmo应用程序:尝试此操作会引发错误Transaction failed with error: The current session is not open.
  • 使用Venmo API:这将引发Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Venmo handleOpenURL:]: unrecognized selector sent to instance 0x8e8a410'。这很清楚,因为Venmo.m文件中没有实现这种方法。但是它在Venmo.h文件中声明。
  • 最佳答案

    这里是Venmo的iOS工程师–我们实际上正在发布新的Venmo iOS SDK,您现在就可以开始使用它了!

    pod 'Venmo-iOS-SDK', :git => 'https://github.com/venmo/venmo-ios-sdk'
    

    对于造成混乱,我深表歉意。我们会立即将您正在使用的框架标记为已弃用,并引导人们使用新的SDK。

    如果您在集成新的SDK时遇到任何问题,请submit an issue!

    更新

    对不起,您遇到的所有集成问题!在正式发布之前,我们仍在完善文档,您的反馈意见非常有帮助。您应该charge me on Venmo!

    我已使用正确的Podfile行更新了文档,并且handleOpenURL:中不再缺少Venmo.m。我还更新了自述文件,以阐明如何使用不同的事务处理方法。希望现在通过本教程获得更好的体验–对不起,您最终成为我们的豚鼠!
  • 要使用Venmo应用发送付款,您需要在安装了Venmo应用的设备上运行您的应用。
  • 要使用Venmo API发送付款,您需要first request permissions from the user

  • 如果您在使用SDK时遇到其他问题,请告诉我们!

    关于ios - Venmo支付iOS集成问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23753475/

    10-12 00:15