2

iTunes に IAP を追加し、テスト ユーザーを追加しました。すべて問題なく、IAP がゲーム用に有効化されています。Apple Docs では、このコードを AppDelegate に配置するように指示されています

 // Locate the receipt
    NSString *receiptPath = [[[NSBundle mainBundle] appStoreReceiptURL] path];

    // Test whether the receipt is present at the above path
    if (![[NSFileManager defaultManager] fileExistsAtPath:receiptPath]) {

        NSLog(@"Exit");
        // Validation fails
        exit(173);
    }

私はそのコードのポイントが何であるかをよく理解していませんか? そのコードを使用してゲームを実行すると、すぐに終了します。何が間違っていますか?

4

1 に答える 1

3

これappStoreReceiptURLは、領収書の検証を実行するために必要な領収書を提供するために使用される方法です ( Docs )

コードを表示するために説明した方法はexit(173)、OSX に固有のものであり、iOS7 では使用しないでください。このコードでアプリを終了すると、パスでレシートを読み込めない場合、OSX はレシートを更新しようとします。

iOS7 (iOS7 より前では使用できません) では、代わりにSKReceiptRefreshRequestクラスを使用する必要があります。これにより、領収書が強制的に更新されます。

于 2013-12-04T00:04:30.660 に答える