UDIDとUUIDの違いに注意することが重要です。
UDID「一意のデバイスID」はハードウェア固有のものです。特定のデバイスで決して変更されることはありません。このため、プライバシーの問題となり、Appleはこれを使用しようとしているアプリをブロックしています。その結果、アップルはオプトアウト可能な「デバイスID」ハッシュを生成しました。特に、広告の使用に適しています。この新しいIDハッシュはIFAと呼ばれ、iOS 6.0以降で利用可能です。
UUID「ユニバーサルユニークID」は、ハードウェアに固有のものではありません。これは、デバイスを識別するために使用されるハッシュです。特に絶対値ではない。たとえば、PhoneGapはデバイスのプロパティに基づいてUUIDを生成します。これはdevice.uuidを実行したときに得られるものです。アプリを削除して再インストールすると、新しいIDハッシュが取得されます。 UUIDはAppleによってブロックされていません。
iOS < 6.0のバックアップとしてOpenUDIDを使用して、IFAを使用することをお勧めします。
ここでは、私たちが使用するコードを示します。 IFAが利用できない場合は、OpenUDIDを取得してください。 [OpenUDIDをインストールする必要があります。詳しくは、https://github.com/ylechelle/OpenUDIDを参照してください。]
NSString* uuid = nil;
if ([[UIDevice currentDevice] respondsToSelector:@selector(identifierForVendor)]) {
// IOS 6 new Unique Identifier implementation, IFA
uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
} else {
// Before iOS6 (or if IFA disabled) you shoud use a custom implementation for uuid
// Here I use OpenUDID (you have to import it into your project)
// https://github.com/ylechelle/OpenUDID
NSString* openUDID = [OpenUDID value];
uuid = [OpenUDID value];
}
アプリケーションのIDをデバイスIDに追加してハッシュそのコード私はiThingsで固定デバイスIDを取得する方法を知らない。 –