Как получить номер IMEI в устройствах IOS 7 программно

Я написал код для получения номера IMEI на устройствах iPhone/iPad, он хорошо работал на IOS 6. После того, как я обновил версию ОС до IOS 7, приложение вылетает при выполнении кода получения номера IMEI. Требуются ли какие-либо изменения для получения IMEI в устройствах IOS 7?

Вот мой код:

struct CTResult it;
CFMutableDictionaryRef kCTDict;
conn = _CTServerConnectionCreate(kCFAllocatorDefault, ConnectionCallback,NULL);
_CTServerConnectionCopyMobileEquipmentInfo(&it, conn, &kCTDict);
NSLog (@ "kCTDict is %@", kCTDict);
CFStringRef meid = CFDictionaryGetValue(kCTDict, CFSTR("kCTMobileEquipmentInfoMEID"));
NSLog (@ "kCTMobileEquipmentInfoMEID is %@", meid);
CFStringRef mobileId = CFDictionaryGetValue(kCTDict,CFSTR("kCTMobileEquipmentInfoCurrentMobileId"));
NSLog (@ "kCTMobileEquipmentInfoCurrentMobileId is %@", mobileId);

person user2886437    schedule 16.10.2013    source источник
comment
NSString *imeinumber = [[общий экземпляр сетевого контроллера] IMEI];   -  person sathiamoorthy    schedule 16.10.2013


Ответы (1)


Я не очень уверен насчет номера IMEI в iOS7. Apple изменила способ предоставления уникального идентификатора. Но вы не должны получать IMEI в первую очередь, поскольку вы используете частный API, а это противоречит правилам Apple.

Чтобы получить уникальный идентификатор устройства, вы должны использовать UDID. Это всегда будет возвращать один и тот же идентификатор для всех ваших приложений, работающих на одном телефоне.

person Community    schedule 16.10.2013
comment
Фактически, UDID устарел в iOS7 (наряду с Open UDID и MAC-адресом). Правильный способ — заменить его на UUID, идентификатор для поставщика или рекламный идентификатор, в зависимости от ваших потребностей. Проверьте следующее, чтобы узнать, как получить UUID и сохранить его в связке ключей: github.com/joseandro/TitaniumiOSUniqueIDs/blob/master/Classes/ - person Joseandro Luiz; 09.11.2013