2016-03-09 12 views
8

アプリ内購入プログラミングガイドは、NSUserDefaultshereでアプリ内購入を継続できることを示唆しています。しかし、私はそれが安全であることを言っthis articleを発見し、その中のデータを簡単にアクセスして変更されます。iOS 8,9でNSUserDefaultsはどれくらい安全ですか?

NSUserDefaultsは、暗号化なしで、バイナリ形式でplistの中に格納されており、あなたのアプリケーションのディレクトリに格納されています。これは、どのユーザーも、たとえ "無能な"ユーザーであっても、5分の時間でNSUserDefaultsを修正することができることを意味します。

trueの場合、ユーザーはNSUserDefaultsを使用して永続化されているアプリ内購入として提供される無料のものを簡単に手に入れることができます。

iOS 8,9の記事はまだ正しいですか?もしそうなら、どのようにあなたのアプリ内購入を維持しますか?私は単純な解決策を好む。領収書などを確認することもしません。

+4

ユーザのデフォルトはまったく安全ではありません。しかし、実際にそこに機密データを保存していますか? – Sulthan

+0

@Sulthan質問を読む。私はApp-inでの購入をそこに保存したい(Appleが推奨するように)。私はアプリ内での購入はかなり敏感だと信じています。 – drasto

+0

有料のコンテンツをユーザーのデフォルトで保存する方法は、多くのモデルがあります。検証したくない場合は、いつでもkeychainを使用できます。キーチェーンを簡単に使用できるライブラリが多数あります。 [Locksmith](https://github.com/matthewpalmer/Locksmith)。キーチェーンはとても安全です。また、アプリを削除しても、端末やアプリ間で共有することができます。 – Sulthan

答えて

15

他の人も言っているように、アプリ内購入や明らかにパスワードなどのUserDefaultsに機密データを保存しない方が良いでしょう。高い得点のようなものでさえ、キーチェーンに保存する方が良いので、人々は不正行為をすることはできません。

私は、Appleドキュメントの一部が古く、UserDefaultsが機密データを保存する方法ではないため、変更する必要があると考えています。

ちょうど言語設定、音量設定など

あなたは、キーチェーンを使用する必要がある機密データを保存する場合のようにUserDefaultsに基本的なものを保存します。今、私が思うキーチェーンAPIは非常にトリッキーですが、GitHubの上の2つの偉大なヘルパーはあなたが

1を使用することができますがあります)https://github.com/jrendel/SwiftKeychainWrapper

2)https://github.com/matthewpalmer/Locksmith

私は個人的にまっすぐ進むのそれ以上のものとして最初のものを使用し、使いやすい。これは文字通り、データをUserDefaultsと同じに保存する作業を行います。素早くファイルをプロジェクトにコピーするか、CocoaPodを使用すれば準備が整いました。

もう1つは高度で複雑ですが、それでも優れています。 これは、あなたが必要とするものと、キーチェーンAPIをどれだけうまく理解しているかの選択肢です。

キーチェーンに留意すべき点の1つは、アプリを削除してもデータが残っていることです。これは実際には良いことだと私は考えています。

すべてのクレジットは、それぞれのラッパーの両方の作者に帰属します。

希望します。

+0

ありがとうございます。開発時間/複雑さの点で、キーチェーンを使用して永続化/検証を受信することと比較できますか?私はCocoaPodをインストールしていないので(これまでのサードパーティ製のライブラリは必要ありませんでした)、ラッパーをインストールすると時間がかかることがあります(キーチェーンを直接使用する方が良いでしょうか?) – drasto

+0

キーチェーンAPIについては全く理解していません。数ヶ月間。難しさの点では、キーチェーンははるかに難しいと思います。私はCocoaPodやサードパーティ製のライブラリを使用しないので、私は(キーチェーンラッパーJRendel)を使用する場合は、単にあなたのプロジェクトに迅速なファイルをコピーすることができます1ラッパーを使用してください。 – crashoverride777

+1

キーチェーンに留意すべき点の1つは、アプリを削除してもデータが保持されることです。これは実際には良いことです。 – crashoverride777

関連する問題