Como chegar IMEI no iPhone?
-
05-07-2019 - |
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?
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);