0

iOS 6.0 でホストされたコンテンツの IAP を実装しようとしています。

たくさんのコードを投稿することなく、私のコードは raywenderlich チュートリアルhttp://www.raywenderlich.com/21081/introduction-to-in-app-purchases-in-ios-6-tutorial およびhttp://xinsightから入手しました.ca/blog/iap-content-download-in-ios6/ . このコードは、通常の非消耗品の購入には問題なく機能します。

ホストされたコンテンツで新しい IAP アイテムを作成し、xcode 経由でアップロードしました (上記の 2 番目のリンクで説明されている方法を使用)。

商品を購入しようとすると、アラートが表示され、[購入] をクリックします。この直後に私のトランザクションは失敗し、ケース SKPaymentTransactionStateFailed が以下で呼び出されます。

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{

    for (SKPaymentTransaction * transaction in transactions) {

        switch (transaction.transactionState){
            case SKPaymentTransactionStatePurchased: {

                if (transaction.downloads) {
                    [[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
                } else {
                    // unlock features
                    //[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                    [self completeTransaction:transaction];
                }    
                break;               
            }
            case SKPaymentTransactionStateFailed: {
                if (transaction.downloads) {
                    NSLog(@"transaction failed... but found downloads");
                }

                [self failedTransaction:transaction];
                break;
            }
            case SKPaymentTransactionStateRestored: {

                if (transaction.downloads) {
                    [[SKPaymentQueue defaultQueue] startDownloads:transaction.downloads];
                } else {
                    // unlock features
                    //[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
                    [self restoreTransaction:transaction];
                }

                break;
            }
            default:
               break;
       }
   }
}

transaction.error.code は SKErrorPaymentCancelled のようです。

iTunesConnect でこの IAP アイテムの性質をホストされたコンテンツを持たないように変更すると、購入は問題なく完了します。何が原因なのか途方に暮れています。

IAP でホストされたコンテンツの経験がある人は、注意すべき落とし穴を知っていますか? ホステッド コンテンツ パッケージの作成方法に関係している可能性はありますか? パッケージを作成するときに、xcode の Supporting Files グループにすべてを配置しました。ファインダーでアーカイブ パッケージを調べると、内容が次のように表示されます。

/dSYM

/Info.plist

/Products/Library/InAppPurchaseContent/ProductIDName/Contents/#ここにコンテンツ#

/Products/Library/InAppPurchaseContent/ProductIDName/ContentInfo.plist

これは正しいです?アップロードすると、「スクリーンショットを待っています」と表示されますが、これは正しいと理解しています。

4

1 に答える 1

0

私の側でも同じ問題が発生しています。Apple サーバーでホストされているすべての IAP コンテンツで、SKErrorPaymentCancelled エラーも発生します。この問題は、現在取り組んでいる Apple から来ているようです。

その他の更新については、こちらを参照してください。

https://devforums.apple.com/message/839428#839428

iPhone storekit サンドボックスが機能しなくなった

于 2013-06-25T15:11:29.630 に答える