2016-05-18 4 views
2

iOS私はIAP Appleホストされていないコンテンツを持っています。ダウンロードは非常に大きい(約500MB)。取引がSK​​PaymentQueueで開いているたびにパスワードを要求します

コンテンツのダウンロード中は、トランザクションを「オープン」にしておき、ダウンロードが完了した時点でトランザクションを終了する必要があります。

Store Kitは、トランザクションがキューにある間にアプリをバックグラウンドからフォアグラウンドに移動(またはアプリを開く)するたびに自動的に再認証を要求します。

ダウンロードを開始したら、ホームボタンを押してアプリに戻り、Store Kitが私にログインを要求します。

再ログインするか「キャンセル」を押すだけで、ダウンロードは続行されます。

この再認証要求を削除する方法はありますか?

答えて

0

これを避けるにはSKPaymentTransactionStateDeferredを使用できます。起動時に、SKPaymentTransactionStateDeferred状態を除くすべてのトランザクションを復元しようとします。

のObjective-C:

NSArray *transactionsInQ = [[SKPaymentQueue defaultQueue] transactions]; 
for(SKPaymentTransaction *transaction in transactionsInQ) { 
    if(transaction.transactionState != SKPaymentTransactionStateDeferred) { 
     // your code 
    } 
} 

スウィフト:

let transactionsInQ = SKPaymentQueue.defaultQueue().transactions 
for transaction in transactionsInQ { 
    if (transaction.transactionState != .Deferred) { 
     // your code 
    } 
} 
+0

まあ、私は実際に負荷に何もしていませんよ。私はトランザクションが復元された状態または購入された状態にあることを通知し、再認証します。いずれのトランザクションも遅延状態にありません。 –

関連する問題