そうです、私はこのゲームをアプリストアでmisshapenと呼んでいます。私のゲームでは、アプリ内購入は正常に機能しますが、誰かがアプリ内購入ボタンを押してからメインメニューに移動するとゲームがクラッシュするバグを発見しました(IAP はオプション画面にあります) ユーザーがオプションに戻って IAP をクリックすると、トランザクション オブザーバーが既に存在するため、ゲームがクラッシュします。
私の問題を解決するために必要なコード行は
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
しかし、間違って呼び出された場合、ユーザーは常にログイン画面をアップルするように促されるため、どこで呼び出すべきかわかりません。私の修正はそれを呼び出すことでした
deinit {
if SKPaymentQueue.canMakePayments() {
SKPaymentQueue.defaultQueue().removeTransactionObserver(self)
}
}
これは機能し、私の問題を修正しますが、ユーザーがメニューに戻ると、ユーザーはアップルのログイン画面でプロンプト表示され、これは必要ありません!! 助けてください よろしくお願いします!! :)