Pergunta

Eu quero ficar IMEI do iPhone. Eu tento usar o seguinte código:

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

Mas NetworkController não foi encontrado.

Também acho que posso conseguir uniqueIdentifier usando:

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

Mas isso não pode me ajudar a obter IMEI.

Como chegar IMEI no iPhone?

Foi útil?

Solução

Você não pode obter IMEI no iPhone mais. Você pode ter que usar UDID vez. Veja outras respostas.


No passado, você poderia usar o arquivo de cabeçalho "mensagem / NetworkController.h" publicado em ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (Tem sido removido agora)

Você gostaria de acrescentar o arquivo NetworkController.h eo quadro privado "Message.framework" ao seu projeto, em seguida, importar esse arquivo de cabeçalho para usar o método original que eu encontrei para obter o número IMEI:

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

Esse truque não funciona mais. App será rejeitado pela Apple.

Outras dicas

Você não pode encontrar o IMEI programaticamente no iPhone.

Não há nenhuma maneira oficial para obtê-lo, mas em Apples CoreTelephony.framework quadro privado existe um método CTGetIMEI que pode ajudá-lo.

Estou certo de que há razões que você não pode fazer isso facilmente. aplicativo Auto-Unlocker? Acho que não. Tenho certeza de que Apple e AT & T não gostaria que muito também.

* # 06 # é o caminho para obtê-lo manualmente.

Eu fiz uma pesquisa só aqui no stackoverflow ea conclusão é que a Apple não permitem mais para encontrar telefone EMEI após iOS 6.

Você pode identificar um dispositivo usando UDID. Eu encontrei a minha resposta aqui https://stackoverflow.com/a/19927376/2283308

adicionar um arquivo de cabeça "CoreTelephony.h" ao seu projeto

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 **);

adicione o seguinte código para a classe

#import "CoreTelephony.h"

struct CTServerConnection *sc=NULL;
struct CTResult result;
void callback() { }

Agora, você pode obter imei facilmente

    NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top