Вопрос

Я хочу получить 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top