Pregunta

Quiero obtener IMEI en iPhone. Intento usar el siguiente código:

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

Pero NetworkController no se encuentra.

También encuentro que puedo obtener un identificador único utilizando:

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

Pero esto no puede ayudarme a obtener IMEI.

¿Cómo obtener IMEI en iPhone?

¿Fue útil?

Solución

Ya no puedes obtener IMEI en iPhone. Puede que tenga que usar UDID en su lugar. Ver otras respuestas.


En el pasado, podría usar el archivo de encabezado " Message / NetworkController.h " publicado en ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (Ha sido eliminado ahora)

Usted agregaría el archivo NetworkController.h y el marco privado " Message.framework " a su proyecto, luego importe ese archivo de encabezado para usar el método original que encontré para obtener el número imei:

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

Ese truco ya no funciona. La aplicación será rechazada por Apple.

Otros consejos

No puedes encontrar el IMEI programáticamente en el iPhone.

No hay una forma oficial de obtenerlo, pero en el marco privado de Apple CoreTelephony.framework hay un método CTGetIMEI que puede ayudarlo.

Estoy seguro de que hay razones por las que no puedes hacer esto fácilmente. ¿Aplicación de desbloqueo automático? No lo creo. Estoy seguro de que a Apple y AT & amp; T tampoco les gustará demasiado.

* # 06 # es la forma de obtenerlo manualmente.

Hice una búsqueda solo aquí en stackoverflow y la conclusión es que Apple ya no permite encontrar el teléfono EMEI después de iOS 6.

Puedes identificar un dispositivo usando UDID. Encontré mi respuesta aquí https://stackoverflow.com/a/19927376/2283308

agregar un archivo principal " CoreTelephony.h " a tu proyecto

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

agrega el siguiente código a tu clase

#import "CoreTelephony.h"

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

ahora, puedes obtener imei fácilmente

    NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top