これらのデータはNSUserDefaultsに保持できます。また、アイテムが既に購入されていることを示すアラートを表示する必要はありません。非消耗品の場合、Apple はすでにそのアイテムを購入したというアラートを表示しています!
編集:
1) ビューに 3 つのボタンを追加する必要があります
アプリでアプリ内購入をサポートしている場合は、ユーザーに復元オプションを提供する必要があります。そうしないと、Apple はアプリを拒否します。
2) ユーザーが購入ボタンを押した場合、ユーザーが既にアプリを購入しているかどうかを確認しないでください。Apple が同じ非消耗品に対してユーザーに 2 回請求することはないからです。購入コードを調べて、ユーザーが既に購入している場合は、Apple の StoreKit フレームワークがデリゲート メソッドを呼び出します。
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
と
SKPaymentTransactionStatePurchased
取引状態。そのため、彼にログイン画面を提示できます。
3) ユーザーが復元ボタンを押した場合は、復元コードを実行するだけです
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
2 番目のステップと同様に、同じトランザクション状態でデリゲート メソッドを呼び出します。したがって、ログインページをユーザーに提示できます。
4) ユーザーがデモ版ボタンを押すと、デモ版が提示されます。
5) ユーザーがあなたのアプリを購入した場合、それを削除し、再インストールした場合は、そのユーザーを新しいユーザーとして扱います。これらの 3 つのボタンを提示すると、ユーザーは購入を復元でき、ログイン ページを提示できます。
6) アプリが正確なデバイスで購入されたかどうかを本当に追跡する必要がある場合は、キーチェーンを使用してデータを保存できます。これは、アプリがアンインストールまたは削除されてもキーチェーン アイテムが削除されないためです。この Api は多くのリンクに役立ちます。
また
キーチェーン データに関するApple のドキュメントを参照できます。