1

そうです、私はこのゲームをアプリストアでmisshapenと呼んでいます。私のゲームでは、アプリ内購入は正常に機能しますが、誰かがアプリ内購入ボタンを押してからメインメニューに移動するとゲームがクラッシュするバグを発見しました(IAP はオプション画面にあります) ユーザーがオプションに戻って IAP をクリックすると、トランザクション オブザーバーが既に存在するため、ゲームがクラッシュします。

私の問題を解決するために必要なコード行は

    SKPaymentQueue.defaultQueue().removeTransactionObserver(self)

しかし、間違って呼び出された場合、ユーザーは常にログイン画面をアップルするように促されるため、どこで呼び出すべきかわかりません。私の修正はそれを呼び出すことでした

 deinit {    
        if SKPaymentQueue.canMakePayments() {
            SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
        }
}

これは機能し、私の問題を修正しますが、ユーザーがメニューに戻ると、ユーザーはアップルのログイン画面でプロンプト表示され、これは必要ありません!! 助けてください よろしくお願いします!! :)

4

1 に答える 1