Как получить IMEI на iPhone?

Я хочу получить IMEI на iPhone. Я пытаюсь использовать следующий код:

#import "Message/NetworkController.h" NetworkController *ntc=[[NetworkController sharedInstance] autorelease]; NSString *imeistring = [ntc IMEI]; 

Но NetworkController не найден.

Я также обнаружил, что могу получить uniqueIdentifier, используя:

 UIDevice *myDevice = [UIDevice currentDevice]; NSString *identifier = myDevice.uniqueIdentifier; 

Но это не может помочь мне получить IMEI.

Любое предложение о том, как получить IMEI на iPhone?

Я обнаружил, что erica разместил файл заголовка «Message / NetworkController.h» на ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (теперь он удален)

Я создал файл заголовка, скопировал и вставил в него файл NetworkController.h и добавил приватную инфраструктуру «Message.framework» в свой проект, импортировал созданный файл заголовка.

Теперь я могу использовать оригинальный метод, который я нашел, чтобы получить номер imei.

 NetworkController *ntc = [NetworkController sharedInstance]; NSString *imeistring = [ntc IMEI]; 

[EDITED] Больше не работает. Apple откажется от приложения. Вместо этого вам придется использовать UDID. См. Сообщение ниже.

Вы не можете найти IMEI программно на iPhone.

Официального способа получить его нет, но в частной инфраструктуре Apples CoreTelephony.framework есть метод CTGetIMEI который может вам помочь.

Я уверен, что есть причины, по которым вы не можете сделать это легко. Автоматическое разблокирование приложения? Я так не думаю. Я уверен, что Apple и AT & T тоже не понравятся.

* # 06 # это способ получить его вручную.

добавить файл заголовка «CoreTelephony.h» в свой проект

CoreTelephony.h

 struct CTServerConnection { int a; int b; CFMachPortRef myport; int c; int d; int e; int f; int g; int h; int i; }; struct CTResult { int flag; int a; }; struct CTServerConnection * _CTServerConnectionCreate(CFAllocatorRef, void *, int *); void _CTServerConnectionCopyMobileIdentity(struct CTResult *, struct CTServerConnection *, NSString **); 

добавьте следующий код в свой class

 #import "CoreTelephony.h" struct CTServerConnection *sc=NULL; struct CTResult result; void callback() { } 

теперь вы можете легко получить imei

  NSString *imei; _CTServerConnectionCopyMobileIdentity(&result, sc, &imei); 

Я сделал поиск только здесь, в stackoverflow, и вывод заключается в том, что Apple больше не может найти телефон EMEI после iOS 6.

Вы можете идентифицировать устройство с использованием UDID. Я нашел свой ответ здесь https://stackoverflow.com/a/19927376/2283308

  • UIWebView не масштабирует контент для соответствия
  • `` соглашение
  • Автоматически запускать локальные уведомления ежедневно в динамическое время, заданное в массивах. objective ios
  • Преобразование NSArray в NSDictionary
  • В чем разница между «отображаемым именем пакета» и «именем пакета» в информационном plist приложения cocoa
  • Регулировка громкости проигрывателя AVPlayer
  • Выбор случайного объекта в NSArray
  • Что делает флаг компоновщика -all_load?
  • Программно включить Bluetooth в iphone sdk?
  • NSDateFormatter dateFromString возвращает nil
  • UITableView, прокрутите вниз до перезагрузки?
  • Давайте будем гением компьютера.