2011-06-23 18 views
2

各Appleデバイス(iPad/iPhone/iPod)には、その使用範囲に固有の識別子が1つだけありますか?次のコードは常にその識別子を返しますか?ユニークなデバイス識別子

[[UIDevice currentDevice] uniqueIdentifier]; 

アップルはこの方法をデプロイされたアプリケーションで使用できますか?

答えて

3

UDID(uniqueidentifier)は人生のためのものですが、リンゴがそのメソッドを呼び出して取得することを喜んでいるかどうかはわかりません。

+1

、Appleが必要であれば、それを使用することをお薦めします。 –

+0

すべての問題は、Webサービスの助けを借りて最初の月を無料で提供するアプリケーションを構築したいと思っています。機能を削除してもう一度インストールすると、アプリケーションを騙したり、 – user784625

+2

関連ドキュメントはhttp://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/uniqueIdentifierです。正式なAPIとAppleですアプリケーション固有のユーザーIDとともにUDIDを使用して、サーバー上のアプリケーション固有のデータを識別することができます。」)。あなたが言うように、それはまた、物がユニークであり、デバイスに結びついていることを明確に説明します。 – Tommy

1

Appleが2013年5月に、これはUDIDの代替であるユーザーの行動

を追跡するためにUDIDを使用してアプリケーションを拒否することを開始することを発表しました:

あなたがのUIApplication、UIDeviceのカテゴリを作成することができますまたはあなたが(ARC例)

@interface UIApplication (utilities) 
- (NSString*)getUUID; 
@end 

@implementation UIApplication (utilities) 

- (NSString*)getUUID { 

    NSUserDefaults *standardUserDefault = [NSUserDefaults standardUserDefaults]; 

    static NSString *uuid = nil; 

    // try to get the NSUserDefault identifier if exist 
    if (uuid == nil) { 

     uuid = [standardUserDefault objectForKey:@"UniversalUniqueIdentifier"]; 
    } 

    // if there is not NSUserDefault identifier generate one and store it 
    if (uuid == nil) { 

     uuid = UUID(); 
     [standardUserDefault setObject:uuid forKey:@"UniversalUniqueIdentifier"]; 
     [standardUserDefault synchronize]; 
    } 

    return uuid; 
} 

@end 

UUID()のようにprefereとすると、この機能は

NSString* UUID() { 

    CFUUIDRef uuidRef = CFUUIDCreate(NULL); 
    CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef); 
    CFRelease(uuidRef); 
    return (__bridge NSString *)uuidStringRef; 
} 
01です

これはNSUserDefaultに格納された一意の識別子をアプリケーションが必要とするときに再生成するために生成します - アプリケーションに固有のこの識別子はデバイスにインストールされませんが、例えばAPNを購読したデバイスサービス等...

あなたはこの方法でそれを使用することができた後:あなたはプロパティのドキュメントを見てみると

NSString *uuid = [[UIApplication sharedApplication] getUUID]; 
関連する問題