2014-05-20 68 views
2

我想將支付的靜態庫集成到iOS應用程序中。Venmo支付iOS集成問題

我按照venmo github project創建了它的演示。下面

按照在github項目描述是在瀏覽器中顯示venmo應用程序/開放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-ios-sdk下載了項目。打開示例項目並嘗試運行。但它甚至沒有編譯。

enter image description here

也然後我試圖創建通過添加venmo IOS SDK新的演示。具體根據gihub自述文件,我必須添加

莢 'venmo-IOS-SDK',:GIT中=> 'https://github.com/venmo/venmo-ios-sdk'

到Podfile。但它拋出錯誤:

給定podspec Venmo-iOS-SDK的名稱不符合預期的一個venmo-ios-sdk

然後我嘗試添加

莢「Venmo-IOS [!] -SDK',:git =>'https://github.com/venmo/venmo-ios-sdk'

並允許安裝。

現在,按照教程有兩種方式發送付款。

  1. 切換到Venmo應用:嘗試,這將引發錯誤Transaction failed with error: The current session is not open.
  2. 使用Venmo API:該拋出Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Venmo handleOpenURL:]: unrecognized selector sent to instance 0x8e8a410'。這很明顯,因爲在Venmo.m文件中沒有實施此類方法。但它在Venmo.h文件中聲明。

回答

1

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的問題!

+0

請看看我的更新回答有關問題github上的樣本venmo項目。還有沒有使用豆莢安裝venmo的方法?我無法在github自述文件中找到它。 – Geek

+0

使用'pod'在添加庫中查看我的更新問題。 – Geek

+0

還有一個'handleOpenURL:'方法被聲明但未實現的問題。它導致應用程序崩潰。 – Geek

0

可能有點晚了這裏的聚會,但我注意到:

venmoTransaction.amount = [NSDecimalNumber decimalNumberWithString:@"5"]; 

我知道,如果你看一看@他們需要float類型的文檔。

我開始使用十進制的點,但嘗試強制轉換爲浮動或使用類似:

NSDecimalNumber *someDecimalNumber = [NSDecimalNumber decimalNumberWithString:@"5"] 
//then in the venmo piece 
venmoTransaction.amount = [self.someDecimalNumber floatvalue]; 

讓我知道這是否有助於