Как получить IMEI на iPhone?
Я хочу получить IMEI на iPhone. Я пытаюсь использовать следующий код:
#import "Message/NetworkController.h" NetworkController *ntc=[[NetworkController sharedInstance] autorelease]; NSString *imeistring = [ntc IMEI];
Но NetworkController не найден.
Я также обнаружил, что могу получить uniqueIdentifier, используя:
- Использование MPMediaItems с AVAudioPlayer
- Msgstr "wait_fences: не удалось получить ответ: 10004003"?
- Как предоставить пространство между двумя ячейками в виде таблицы?
- Почему NSUserDefaults не удалось сохранить NSMutableDictionary в iPhone SDK?
- Как получить подстроку NSString?
UIDevice *myDevice = [UIDevice currentDevice]; NSString *identifier = myDevice.uniqueIdentifier;
Но это не может помочь мне получить IMEI.
Любое предложение о том, как получить IMEI на iPhone?
- Лучший подход для синтаксического анализа XML на iPhone
- Переменная Property vs. instance
- Одновременные распознаватели жестов в Iphone SDK
- iPhone: обнаружение бездействия пользователя / время простоя с момента последнего касания экрана
- Подчеркивать префикс имени свойства?
- Простое обнаружение движения iPhone
- Что делает @synthesize window = _window?
- Значение предупреждения "во время презентации!"
Я обнаружил, что 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