سؤال

وأريد الحصول على IMEI على اي فون. وأنا أحاول أن استخدام التعليمات البرمجية التالية:

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

ولكن لم يتم العثور على NetworkController.

وأجد أيضا أن أتمكن من الحصول uniqueIdentifier باستخدام:

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

ولكن هذا لا يمكن أن تساعدني في الحصول على IMEI.

وكيفية الحصول على IMEI على iPhone؟

هل كانت مفيدة؟

المحلول

ولا يمكنك الحصول على IMEI على اي فون بعد الآن. قد تضطر إلى استخدام UDID بدلا من ذلك. انظر إجابات أخرى.


في الماضي، هل يمكن استخدام ملف الرأس "رسالة / NetworkController.h" نشرت على ericasadun.com. http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html (ولقد كان الآن إزالة)

ويمكنك أن تضيف ملف NetworkController.h والإطار الخاص "Message.framework" لمشروعك، ثم استيراد هذا الملف رأس لاستخدام أسلوب الأصلي وجدت للحصول على رقم IMEI:

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

وهذا الإختراق لا تعمل بعد الان. سيتم رفض التطبيق من قبل شركة آبل.

نصائح أخرى

وأنت لا يمكن العثور على IMEI برمجيا على اي فون.

وليس هناك طريقة رسمية للحصول عليه، ولكن في التفاح CoreTelephony.framework الإطار الخاص هناك CTGetIMEI الطريقة التي قد تساعدك.

وأنا متأكد من أن هناك أسباب لا يمكنك أن تفعل ذلك بسهولة. التطبيق لصناعة السيارات في القفل؟ لا أعتقد ذلك. أنا متأكد من أبل، وسوف AT & T لا ترغب في ذلك أيضا إما من ذلك بكثير.

* # 06 # هو طريقة للحصول عليه يدويا.

ولقد تقدمت البحث فقط هنا في ستاكوفيرفلوو والاستنتاج هو أن أبل لا تسمح بعد الآن للعثور على الهاتف EMEI بعد دائرة الرقابة الداخلية 6.

ويمكنك التعرف على الجهاز باستخدام UDID. لقد وجدت جوابي هنا https://stackoverflow.com/a/19927376/2283308

وإضافة ملف الرأس "CoreTelephony.h" لمشروعك

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

وإضافة التعليمات البرمجية التالية إلى صفك

#import "CoreTelephony.h"

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

والآن، يمكنك الحصول على IMEI بسهولة

    NSString *imei;
_CTServerConnectionCopyMobileIdentity(&result, sc, &imei);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top