我想将用于付款的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种付款方式。
Transaction failed with error: The current session is not open.
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
。我还更新了自述文件,以阐明如何使用不同的事务处理方法。希望现在通过本教程获得更好的体验–对不起,您最终成为我们的豚鼠!如果您在使用SDK时遇到其他问题,请告诉我们!
关于ios - Venmo支付iOS集成问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23753475/