2012-03-19 6 views
2

iOSアプリケーションでは、各デバイスを一意に識別する必要があるため、できるだけユーザーとのやりとりが少ない状態でサーバーにアップロードされたファイルを取得できます(IEではユーザーがユーザー名とパスワード)。 iOS5がリリースされたことで、Appleはこの問題を解決する最も簡単な方法だったはずのUDIDを非難しました。もう1つの方法は、デバイス上に識別子を生成して格納し、毎回そこから読み取ることです。ただし、リンゴは、デバイスに十分な空き容量がないと感じるため、いつでもファイルを削除できます。ストアの設定ios5

リンゴについて心配することなくローカルファイルシステムにデバイス識別子を保存する方法はありますか?

生成された回数に関係なく、1つのデバイスで同じデバイス識別子を生成するにはどうしたらよいでしょうか?他のすべての識別子とはまだ異なりますか?

答えて

1

ワイヤレスNICのMACアドレスを一意の識別子として使用できます。

また、Documentsディレクトリ内のファイルはappleで消去されず、iCloud経由で同期されます。アップルは、生成されたすべてのコンテンツは、少なくとも再生成可能であれば、Documentsディレクトリには置かないべきだと言います。

MACアドレスを取得するには、私はこのポストのコードを使用しました:How can I programmatically get the MAC address of an iphone

+0

また、デバイスIDフォームiOS5の非推奨を解決するためのソリューションであるhttps://github.com/gekitz/UIDevice-with-UniqueIdentifier-for-iOS-5もチェックしてください。アプリケーションのバンドルIDとともにMACアドレスを使用してGUIDを作成します。 – Sam

+0

は、アップルがアプリストアから自分のアプリを拒否するようなものですか? – nick

+0

私が知っている限り、それはすべきではありません。私は実際にデバイスのMACアドレスを使用するアプリストアにアプリを持っています。私はそれもそれを使用する他のアプリがあると確信しています。 – Sam

関連する問題