私はいくつかの問題に遭遇し、アプリ内購入を安全に保存するための 2 つの一般的な方法を見つけました。
1) NSUserDefaults の安全なバージョンを使用する:
a) 「安全な NSUserDefaults」。このバージョンの NSUserDefaults は、保存されたシークレット アイテムのハッシュを生成し、後でアイテムのこのハッシュの検証を提供します。したがって、ユーザーがデフォルトの .plist を「ハッキング」するこの状況に簡単に対処できます。
ここをチェックしてください: https://github.com/matthiasplappert/Secure-NSUserDefaults
b) 「SecureNSUserDefaults」。AES 暗号化を使用した NSUserDefaults。ここでの私のアドバイスは、購入のために安全なブール値を保存するだけでなく、支払いが完了したかどうかを示すための難読化された文字列です。
ここをチェックしてください: https://github.com/nielsmouthaan/SecureNSUserDefaults
2) キーチェーンの使用
a) " RSSecrets " KeyChain にキーと値の項目を格納する単純なクラス。ここでの議論も参照してください:アプリのキーチェーンにアプリ内購入レシートを保存する
プロジェクトを確認してください: https://github.com/jeffargast/RSSecrets
b) " STKeychain " ほとんどの場合、このクラスはログイン/パスを KeyChain に保存するために使用されますが、MKStroreKit (iOS デバイスで人気のあるアプリ内購入 StoreKit) のプロジェクトでは、実際にアプリ内購入を保存するためにこのクラスを使用します。
ここをチェック: https://github.com/ldandersen/STUtils/blob/master/Security/STKeychain.h
PS私は自分のプロジェクトでこのクラスをまだ使用していませんが、「RSSecrets」を使用することを考えています