Как получить IMEI на iPhone?
-
05-07-2019 - |
Вопрос
Я хочу получить 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?
Решение
Вы больше не можете получить IMEI на iPhone. Возможно, вам придется использовать UDID вместо. Смотрите другие ответы.
<Ч>Раньше вы могли использовать заголовочный файл " 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];
Этот хак больше не работает. Приложение будет отклонено Apple.
Другие советы
Вы не можете найти IMEI программно на iPhone.
Официального способа получить его нет, но в частной платформе Apples CoreTelephony.framework
есть метод CTGetIMEI
, который может вам помочь.
Я уверен, что есть причины, по которым вы не можете сделать это легко. Авто-разблокировщик приложения? Я так не думаю. Я уверен, что Apple и AT & T тоже не понравится.
* # 06 # - это способ получить его вручную.
Я выполнил поиск только здесь в stackoverflow, и пришел к выводу, что Apple больше не позволяет находить телефон EMEI после iOS 6.
Вы можете идентифицировать устройство, используя UDID. Я нашел свой ответ здесь https://stackoverflow.com/a/19927376/2283308
добавить заголовочный файл "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 **);
добавьте следующий код в свой класс
#import "CoreTelephony.h"
struct CTServerConnection *sc=NULL;
struct CTResult result;
void callback() { }
Теперь вы можете легко получить IMEI
NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);