Подтвердить что ты не робот

Как получить 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?

4b9b3361

Ответ 1

Вы не можете получить 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.

Ответ 2

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

Ответ 3

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

Ответ 4

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

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

Ответ 5

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

Вы можете идентифицировать устройство с использованием UDID. Я нашел здесь свой ответ fooobar.com/questions/176851/...

Ответ 6

добавить файл заголовка "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);