Je veux obtenir 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 est introuvable.
Je trouve également que je peux obtenir uniqueIdentifier en utilisant:
UIDevice *myDevice = [UIDevice currentDevice];
NSString *identifier = myDevice.uniqueIdentifier;
Mais cela ne peut pas m'aider à obtenir l'IMEI.
Comment obtenir IMEI sur iPhone?
Vous ne pouvez plus obtenir IMEI sur iPhone. Vous devrez peut-être utiliser UDID à la place. Voir d'autres réponses.
Dans le passé, vous pouviez utiliser le fichier d'en-tête "Message/NetworkController.h" publié sur ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (Il a été supprimé maintenant)
Vous devez ajouter le fichier NetworkController.h et le cadre privé "Message.framework" à votre projet, puis importer ce fichier d'en-tête pour utiliser la méthode d'origine que j'ai 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.
Vous ne pouvez pas trouver l'IMEI par programme sur l'iPhone.
Il n'y a aucun moyen officiel de l'obtenir, mais dans le cadre privé d'Apple 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 fait une recherche uniquement ici dans stackoverflow et la conclusion est que Apple ne permet plus de trouver le téléphone EMEI après iOS 6.
Vous pouvez identifier un appareil à l'aide de l'UDID. J'ai trouvé ma réponse ici https://stackoverflow.com/a/19927376/2283308
ajoutez un fichier principal "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 facilement obtenir imei
NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);