1

inApp Purchaseシステムを使用するアプリを作成していますが、トランザクションオブザーバーメソッドを使用してトランザクションを停止する方法が見つかりません。接続性が低い状況でこの動作を引き起こす必要があります。Appleサーバーへの接続を停止する機能をユーザーに提供したいと思います。1つ以上のデフォルトの購入アラートが2〜3分後に表示されるのを同時に望んでいません...したがって、最善の解決策は、uibuttonとアクションによって支払い手順を完全に停止することです。私はこのようなことを試しましたが、うまくいきません。


    -(IBAction)ClosePayment{

       for (SKPaymentTransaction *transaction in  [[SKPaymentQueue defaultQueue]transactions])  {
          [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
       }

    }

このアクションはアプリケーションをクラッシュさせます。私も試しました。

    [[SKPaymentQueue defaultQueue]removeTransactionObserver:self];

これはエラーを生成しませんが、単に機能しません。

4

1 に答える 1

4

「購入」状態で SKPaymentTransaction を停止することは不可能のようです... また、TransactionObserver なしで関連する SKPayment オブジェクトを初期化しようとしました (テスト目的のみ...)。TransactionObserver がないと、購入は正しく機能しませんが、アプリ内購入システムの最初のアラートは引き続きユーザーに表示されます。ドキュメントには「停止」をサポートするものは何もないため、プライベート API でのみ可能であると思います。

于 2012-12-06T12:00:13.890 に答える