블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday


출처 : http://www.lionheart.pe.kr/board_uFoa63/913



현재 UDID라 불리는 Unique Device ID는 기기마다 가지고 있는 고유의  아이디입니다.

 

주로 폰에서 아이디를 만들떄 자동으로 만들어 줄려고 사용하는 거지만 안드로이드는 아무 문제가 없습니다

 

 

문제는 애플인데 저걸 사용하면 리젝사유가 된다고 하네요

 

iPhoneSettings.uniqueIdentifier 이 함수를 사용해 UDID라는 것을 생성을 할수가 있는데 이제는 쓰면 안되겠죠

 

(특히 일본쪽은 UDID나 Mac어드레스등 유저 해킹에 대한 정보를 가져다 쓰는 어플은 무조건 안된다고 합니다)

 

 

 

그래서 나온게 UUID라 불리는 Universally Unique ID 입니다

 

유니티 최신버젼을 쓰시면 SystemInfo.deviceUniqueIdentifier 값이 자동으로 생성된다고 합니다

 

앱을 깔고나서 지우면 값이 바뀌기는 하지만 여전히 고유값이라고 하네요


But,


UUID 분석을 통해 앱을 다시 지웠다가 설치 해도 바뀌지 않는 방법이 있습니다.

IOS 기기 국가정보 및 기기 UIDI 대체 UUID 키체인에 저장하여 사용하기(앱 다시 깔아도 그대로 기기값유지)


// 기기 국가정보가져오기

NSLocale *locale =[NSLocale currentLocale];

NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];

//유니티 메세지 보내기

UnitySendMessage("GetDeviceID""SetContry", [countryCode UTF8String]);

    

// 기기 아이디 생성해서 키체인에 저장

NSString *result_uuid = [[LUKeychainAccess standardKeychainAccess] stringForKey:@"uuid"];

   

 if(result_uuid == nil)

 {

       NSString *uuid;

        NSComparisonResult order = [[UIDevice currentDevice].systemVersion compare: @"6.0" options: NSNumericSearch];

        if (order == NSOrderedSame || order == NSOrderedDescending) {

            uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];

        }

       else

       {

            uuid = [[NSUUID UUID] UUIDString];

        }

        [[LUKeychainAccess standardKeychainAccess] setString:uuid forKey:@"uuid"];

        result_uuid = [[LUKeychainAccess standardKeychainAccess] stringForKey:@"uuid"];

   }


 //기기아이디 유니티로 전송

 UnitySendMessage("GetDeviceID""SetDeviceID", [result_uuid UTF8String]);


* 기기 아이디 생성해서 키체인에 저장해서 쓰는 것은 첨부파일이 필요하다.



반응형
Posted by blueasa
, |