【发布时间】:2014-07-08 08:12:10
【问题描述】:
我想将用于支付的 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 name]:无法识别的选择器已发送到实例 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'
它允许安装。
现在,根据教程,有两种付款方式。
- 切换到 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 文件中声明的。
【问题讨论】:
标签: ios objective-c ios7 venmo