Question

Je souhaite utiliser IMEI sur iPhone. J'essaie d'utiliser le code suivant:

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

Mais NetworkController n'est pas trouvé.

Je constate également que je peux obtenir un identifiant unique en utilisant:

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

Mais cela ne peut pas m'aider à obtenir IMEI.

Comment obtenir IMEI sur iPhone?

Était-ce utile?

La solution

Vous ne pouvez plus utiliser IMEI sur iPhone. Vous devrez peut-être utiliser UDID à la place. Voir les autres réponses.

Auparavant, vous pouviez utiliser le fichier d'en-tête " Message / NetworkController.h " posté sur ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (c'est supprimé maintenant)

Vous ajouteriez le fichier NetworkController.h et le cadre privé "Message.framework". dans votre projet, puis importez ce fichier d'en-tête pour utiliser la méthode originale trouvée pour obtenir le numéro imei:

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

Ce hack ne fonctionne plus. L'application sera rejetée par Apple.

Autres conseils

Vous ne trouvez pas l'IMEI par programme sur l'iPhone.

Il n'y a pas de moyen officiel de l'obtenir, mais dans le framework privé Apples CoreTelephony.framework , il existe une méthode CTGetIMEI qui pourrait vous aider.

Je suis sûr qu'il y a des raisons pour lesquelles vous ne pouvez pas le faire facilement. Application de déverrouillage automatique? Je ne pense pas. Je suis sûr que Apple et AT & T ne l'aimeraient pas trop non plus.

* # 06 # est le moyen de l'obtenir manuellement.

J'ai effectué une recherche uniquement ici dans stackoverflow et la conclusion est qu'Apple ne permet plus de rechercher un téléphone EMEI après iOS 6.

Vous pouvez identifier un périphérique à l'aide de UDID. J'ai trouvé ma réponse ici https://stackoverflow.com/a/19927376/2283308

ajouter un fichier de tête " CoreTelephony.h " à votre projet

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

ajoutez le code suivant à votre classe

#import "CoreTelephony.h"

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

maintenant, vous pouvez obtenir facilement imei

    NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top