2012-06-18 7 views
6

私のアプリでアプリの購入をテストしようとしています。有料アプリを購入したことがない人で修復する

アプリ内購入を購入したテストユーザーでアプリ内購入を復元すると、すべて正常に動作します。

しかし、私はフレームワークは、以下のメソッドを呼び出すことが予想前アプリの購入にはなりませんでしたユーザーとアプリの購入で復元しよう:

-paymentQueue:restoreCompletedTransactionsFailedWithError:

代わりにフレームワークが呼び出します。

-paymentQueueRestoreCompletedTransactionsFinished:

私のテストユーザーがすでにアプリの購入で買ったように....

これは正常な動作ですか?もしそうなら、ユーザーはアプリの購入を購入することなく復元しようとしているのですか?

答えて

7

は、ここに答えを参照してください: iOS in-app-purchase restore returns many transactions

あなたは、トランザクションオブザーバーでそれを処理する必要があります。要するに

、あなたが復元プロセスを開始します。

[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; 
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; 

その後、次のトランザクションオブザーバが呼び出されます。それは、復元に大きなholeを持っているので、私はMKStoreKitをお勧めしません

- (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue 
{ 
    int thisIsTheTotalNumberOfPurchaseToBeRestored = queue.transactions.count; 

    for (SKPaymentTransaction *transaction in queue.transactions) 
    { 
     NSString *thisIsProductIDThatHasAlreadyBeenPurchased = transaction.payment.productIdentifier; 

     if([thisIsProductIDThatHasAlreadyBeenPurchased isEqualToString:product1ID]) 
     { 
      //Enable product1 here 
     } 
    } 
} 
1

MKStoreKitフレームワークを試すhttps://github.com/MugunthKumar/MKStoreKit これはかなり良いフレームワークです。アプリ内購入のアプリがいくつかあります。そのような問題は決してありませんでした。

+0

あなたはリンクを送ることができます。どのようにこのソースを使用するには、Kumarのブログでは、それを使用する方法が複雑です。このソースをプロジェクトに組み込む方法は他にありますか?しかし、私はこのソースが最高であり、多くの私の友人もそれを使用することを知っています。 –

+0

残念ながらデモプロジェクトはありません。なぜなら、あなたのアプリにいくつかのことを設定しなければならないからです。それを動作させるには数時間かかりますが、ほとんどの場合アプリの購入のためにアプリを設定する方法を考えています。 githubのリンクは、情報のためのあなたの最高の情報源です。 Google検索で古いブログ記事が表示されます。 – Tibidabo

0

@Tibidabo購入アイテムの機能。

関連する問題