2015-06-21 146 views
1

正在爲應用程序的應用內購買編碼,當與iTunes商店連接時會顯示一個活動指示器。當連接正常完成時,活動指示燈會停止,但以下情況除外:如何檢測ios系統彈出視圖的「取消」按鈕?

有兩個「取消」按鈕: 1.選擇購買時,系統將顯示一個itunes商店登錄視圖並顯示「取消」按鈕。 2.如果輸入密碼並繼續,並且以前購買過該產品,則可能會返回另一個「取消」按鈕。

由於活動指示燈的在步驟1中開始動畫,如果按任意兩個「取消」按鈕將完成該過程,但活動指示燈的仍在旋轉,因爲我不能趕上取消按鈕。

我試過了「alertView」和「actionSheet」來獲取buttonIndex,但是它們並不工作,它總是在自定義alertView中工作。

func alertView(View: UIAlertView!, clickedButtonAtIndex buttonIndex: Int){ 
    println(buttonIndex) 
} 

func actionSheet(actionSheet: UIActionSheet, didDismissWithButtonIndex buttonIndex: Int) { 
    println(buttonIndex) 
} 

任何建議將不勝感激。

+0

可以使用applicationDidbecomeActive通知檢測購買對話框 – Paulw11

回答

1

,以便在應用程序內購買將被取消檢測,你將不得不設置一個SKPaymentTransactionObserver當事務改變狀態,將另行通知。特別是,當交易變爲SKPaymentTransactionStateFailed狀態時,您會感興趣,然後您可以關閉活動指示器。

請參閱here以獲取目標-c的實現。

+0

感謝閉幕。它在添加'SKPaymentTransactionObserver'之後起作用。我之前以某種方式刪除它,該應用程序仍然可以獲得產品列表,所以我認爲該應用程序可以在沒有它的情況下運行。 – jdleung

相關問題