2016-08-21 81 views
1

我目前正在開發一個iOS應用程序,它具有應用內購買。Ios:在應用程序購買對話框中不顯示

當我將SKPayment添加到付款隊列中時,什麼都不會發生。

public func buyProduct(product: SKProduct) { 
    SKPaymentQueue.defaultQueue().addTransactionObserver(self); 

    print("buy \(product.productIdentifier)"); 
    SKPaymentQueue.defaultQueue().addPayment(SKPayment(product: product)); 
} 

我已經檢查一切不爲空,一切都是有效的,但我真的按我的應用程序的購買按鈕,就會出現什麼,沒有及時問我,如果我想購買的產品。

控制檯內部沒有錯誤或警告,從字面上看沒有任何反應。

transactionState似乎正在更新,但似乎沒有任何有用的信息,爲什麼提示不出現。

 public func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) { 

    for transaction in transactions { 
     print(transaction.transactionIdentifier); 
     print(transaction.transactionState); 
     print(transaction.originalTransaction) 
     print(transaction.error); 
    } 


} 

輸出(一個水龍頭後)

buy com.innovationsoft.top10.unlock_cat_8 

nil 

SKPaymentTransactionState 

nil 

nil 

P.S當我在模擬器上運行,我得到一個提示,登錄到iTunes,但是在任何物理設備沒有任何反應。

任何幫助,將不勝感激

+0

你加''在你的應用程序委託SKPaymentQueue.defaultQueue()。addTransactionObserver(個體經營)? http://stackoverflow.com/a/26677736/3953581 – Jad

+0

嗨,我已經修改了帖子,包括我已經嘗試過,我已經添加到付款隊列只是爲了安全,仍然沒有運氣。 –

+0

將其添加到appDelegate中的'didFinishLaunchingWithOptions'並嘗試。 – Jad

回答

0

問題是某種ios錯誤。

我重新啓動了設備,現在一切正常。

-_-