上で実行するようにSKPaymentQueueを強制的に、私は次のコマンドを実行します。私AppDelegateでは、バックグラウンドスレッド
SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);
私は「購入の回復」を実行し、ユーザーインターフェイスがために立ち往生され、それを再起動した後、すぐにアプリを殺すときすべての購入を処理するのにかかる時間(そして、私はリンゴでレシートを確認するたびに、多くのものをテストしました。約1分のUIしか要しません!!)
私は、トランザクションキューの起動がブロックされているので、コードを次のように変更しました。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), {
SKPaymentQueue.defaultQueue().addTransactionObserver(self.storeDel);
});
そして、それは今では....
を助けなかった - 私は、キューが私には意味がありません。私のメインスレッドで実行されます...不審になった...
私はデバッグ - そして、...支払い処理は "キュー:com.apple.main-スレッド(シリアル)"上で実行されています。私はこれもユーザーのGUIスレッドだと考えています(そうでなければ、GUIが立ち往生する理由はありません...)。
so ...
私は何ができますか? 領収書を処理して対応可能な解決策はありますか?
ありがとうございます!