2017-03-07 8 views
-1

udidが推奨されていないため、iosアプリケーションを作成しています。どのようにしてアプリケーションを一意に識別できますか?IOSアプリケーションの一意のIDを作成する方法

+0

を参照してください。http://www.rogeriohirooka.com/2016/09/01/some-api-changes-on-ios-10/#udid –

+0

これがなぜ必要なのか説明してください。あなたは任意の一意の文字列をランダムに生成することができますし、あなたのサーバーに送信することができますまた、あなたのデバイスに保存することができます、毎回任意のwebserviceを呼び出すと、あなたはそのデバイスを一意に識別するために、 udid? –

答えて

1

あなたは、デバイスの一意のIDを生成するコードの下UDID- let Identifier = UIDevice.current.identifierForVendor?.uuidString

+1

これは、アプリをアンインストールして再インストールすると変更されます –

1

についてUUID- let uuid = NSUUID().uuidString のために、両方のUDID & UUID を使用することができますし、デバイスをリセットします件までITはユニークです。ハッピーコーディング... :)

- (NSString *)createNewUUID { 
    NSString *UUID = [[NSUUID UUID] UUIDString]; 
    return UUID; 
} 


//Check And Retrive UniqueIdentifier 
-(void)checkAndGenerateUniqueIdentifier{ 

    //Retrive UDID 
    NSString *retrieveuuid = [SSKeychain passwordForService:[[NSBundle mainBundle] bundleIdentifier] account:[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey]]; 

    if (retrieveuuid == nil) { 

     NSString *uuid = [self createNewUUID]; 
     NSLog(@" Create new uuid : %@",uuid); 

     //Store the password in Keychain 
     NSError *error = nil; 

     [SSKeychain setPassword:uuid forService:[[NSBundle mainBundle] bundleIdentifier] account:[[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey] error:&error]; 

     if ([error code] == SSKeychainErrorNotFound) { 
      NSLog(@"Password not found"); 
     } 

    } 

} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    //Check And Retrive UniqueIdentifier 
    [self checkAndGenerateUniqueIdentifier]; 

    return YES; 
} 

ストアUUIDのための使用サードパーティ製のキーホルダーラッパーまたはiOSキーチェーンAPI。

関連する問題