3

アプリでアプリ内購入を復元しているときに問題が発生しました

私はすでにこのコード行をプロジェクトに適用しました:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

しかし、それはこの関数を呼び出します

- (void)paymentQueue:(SKPaymentQueue*)queue restoreCompletedTransactionsFailedWithError:(NSError*)error
{
    NSLog(@"error");
}

このエラーが発生しないようにするには、何をする必要がありますか?この関数を呼び出します。

- (void) paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue
{
    NSMutableArray *purchasedItemIDs = [[NSMutableArray alloc] init];

 NSLog(@"received restored transactions: %i", queue.transactions.count);
    for (SKPaymentTransaction *transaction in queue.transactions)
    {
        NSString *productID = transaction.payment.productIdentifier;
        [purchasedItemIDs addObject:productID];
    }

}

よろしくお願いします!

4

3 に答える 3

3

シミュレーターからテストしているときに同じ問題が発生しました。アプリ内購入はシミュレーターでは利用できないため、物理デバイスで試してみてください。

于 2012-07-27T21:52:32.123 に答える
2

「アプリ内購入プログラミングガイド」より:ストアキットはiOSシミュレータでは動作しません。iOSシミュレーターでアプリケーションを実行しているときに、アプリケーションが支払いキューを取得しようとすると、StoreKitは警告をログに記録します。ストアのテストは、実際のデバイスで実行する必要があります。

http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/DevelopingwithStoreKit/DevelopingwithStoreKit.html

于 2012-09-13T10:04:17.070 に答える
0

アプリ内購入はシミュレーターで利用できるので、シミュレーターで確認できます。

于 2013-05-08T10:49:43.320 に答える