2017-02-15 6 views
-5

나는 내 응용 프로그램에 로그인 한 사람에게 인스턴트 메시지를 보냅니다. 보안을위한 특별한 코드를 제공 할 것입니다. 다른 전화에서 들어올 수없는 코드와 IMEI 여야합니다. iOS에서 무엇을 할 것인가? 그들은이 코드를 다룰 것입니다. 하지만 더 이상 iOS에서 IMEI를 사용할 수 없습니다. iOS에서해야 할 일. 또한, 더 이상 İOS에서 주소를 바꿀 수 없습니다. 맞습니까?IMEI에 대체

+0

예 iOS에서는 IMEI 또는 MAC 주소를 캡처 할 수 없습니다. 어쨌든 이것을 필요로하는 이유는 무엇입니까? –

+0

보안을 위해 @SachinVas –

+0

UUID를 사용하여 임의의 문자열을 생성하고 키 체인에 저장합니다. 또한 이미 코드를 사용한 서버의 사용자 목록을 유지하십시오. 이렇게하면 단 한 번만 확신 할 수 있습니다. –

답변

0

Apple에서 제공하는 IMEI 또는 MAC 주소에는 몇 가지 대안이 있습니다.

하나는 [[UIDevice currentDevice] identifierForVendor]입니다.

Apple 설명서에서.

장치를 응용 프로그램 공급 업체에게 고유하게 식별하는 영숫자 문자열입니다. 이 속성의 값은 동일한 기기에서 실행되는 동일한 공급 업체에서 온 앱의 경우와 동일합니다. 다른 공급 업체에서 온 동일한 기기의 앱과 공급 업체와 관계없이 다른 기기의 앱에 대해 서로 다른 값이 반환됩니다.

광고를 게재 할 시스템을 구현하는 경우 설명서에 따라 [ASIdentifierManager advertisingIdentifier]을 사용해야하는 또 다른 방법이 있습니다.

특히 사용자 및 식별자 목록을 유지 관리하는 서버 측 구성 요소가있는 경우 일반적으로 identifierForVendor으로 보안 계층을 구현하기에 충분합니다.

아래와 같이 identifierForVendor의 UUID를 생성 할 수도 있습니다.

목표 - C :

NSString *generateUUID = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; 

스위프트 3 :

let generateUUID = UIDevice.current.identifierForVendor?.uuidString 

이 절대적으로 필요한 것을 위해 충분해야한다.

+0

나는 이해할 수없는 몇 가지 상황이있다. 첫째, 안드로이드에서 uuid가 유효합니까? 둘째, 모든 전화기에서 UUID를 사용할 수 있습니까? –

+0

모든 전화에서 사용할 수있는 uuid, 장치 제조업체는 uuid –