まとまりのないブログ

something which something is something

swift 雑記・雑学

swift – itunes store にサインイン画面が何度も表示される

投稿日:

iPhoneアプリ開発中にStoreKitの購入処理をデバッグしていたら、アプリ起動時にサインインを求められる画面が表示されるようになった。これが表示されるようになった原因は、直前の購入処理がうまくいかず、購入の処理が終わってないことが原因だと思われる。トランザクションの終了処理が未実行となっているのだと予想。

だが、アプリ起動時にいきなりストアへのサインイン画面が呼ばれるというのがわからない。何のメソッドが呼ばれてサインイン画面が表示されているのかというのがわからないので手の打ちようがない。アカウントをテストユーザーでサインインしていたが、別のテストユーザーでサインインしたところ起動時のサインイン画面には前のユーザー名が表示されて消えないという現象も確認した。

現在のトランザクションの数を数えてみる。下記がレストア終了した後に呼ばれるメソッドでキューの数をコンソールに表示してみたら6という数字になった。おそらくこれが原因で起動時にサインイン画面が表示されていたのではないかと思う。

    func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) {

        print(queue.transactions.count)

    }

溜まったトランザクションに対して終了処理を実行する。とりあえず上記メソッドに一回だけ下記のようなコードを追加・実行する

    func paymentQueueRestoreCompletedTransactionsFinished(queue: SKPaymentQueue!) {
        
        for transaction:SKPaymentTransaction in queue.transactions{
            SKPaymentQueue.defaultQueue().finishTransaction(transaction)
        }
        
        print(queue.transactions.count)
    }

上記を実行すると溜まっていたトランザクションはとりあえず消える。で、再度アプリを起動させてみたところ、やはりサインイン画面は消えなくて相変わらず表示される。その後サインアウトしたり別のアカウントでサインインしてみたりとやっているうちに、起動時に表示されていた意味不明のサインイン画面は表示されなくなった。結局、明確な解決方法はわからずじまい。未終了のトランザクションが溜まっていてそれを削除したのは関係がありそうだけれども、なんとも言えない。

-swift, 雑記・雑学

執筆者:


comment

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

cocos2d-x javascript no.4 スプライトを作成する

画像無しで矩形スプライトを作成する var sprite = cc.Sprite.create(); sprite.setTextureRect(cc.rect(0,0,100,100)); spri …

no image

古いスキャナをwinows10で利用する

windows xp 32bit対応のcanon製スキャナを入手したのだけれど、windows 10 64bit環境では対応するドライバやアプリケーションがインストールできないため使うためには一工夫す …

no image

npmが異常終了した場合に発生する起動エラー

npmサーバーをデバッグで起動していて、例のWindowsアップデートで強制再起動をかけられてしまったため妙なことになった。大したことないだろうと思って再度起動してみると下記のようなエラーを吐くように …

no image

JAVAサーブレットクラスの初期化

JAVAサーブレットのクラスを初期化するときの方法について何種類かあるので迷ったので覚書き。 かんたんなサーブレットクラスを作ってテストしてみた。 public class InitTest exte …

no image

ANAREA Battle Royale というバトロワゲーが事実上開発中止になっている件

ANAREA Battle Royaleとは? ANAREA Battle Royale https://store.steampowered.com/app/1103950/ANAREA_Battl …