如何在iPhone上获取IMEI?

时间:2009-05-05 03:24:40

标签: ios objective-c iphone imei

我想在iPhone上获取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。

如何在iPhone上获取IMEI?

7 个答案:

答案 0 :(得分:13)

你不能再在iPhone上获得IMEI了。您可能必须使用UDID。请参阅其他答案。


过去,您可以使用ericasadun.com上发布的头文件“Message / NetworkController.h”。 http://ericasadun.com/iPhoneDocs300/_network_controller_8h-source.html(现已删除)

您可以将NetworkController.h文件和私有框架“Message.framework”添加到您的项目中,然后导入该头文件以使用我找到的原始方法来获取imei编号:

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

黑客攻击不再适用。应用程序将被Apple拒绝。

答案 1 :(得分:7)

您无法在iPhone上以编程方式找到IMEI。

答案 2 :(得分:4)

没有官方的方式来获取它,但在Apples私有框架CoreTelephony.framework中,有一个方法CTGetIMEI可能对您有帮助。

答案 3 :(得分:3)

我确信你有理由不能轻易做到这一点。自动解锁应用?我不这么认为。我相信Apple和AT& T也不会太喜欢它。

*#06#是手动获取它的方式。

答案 4 :(得分:2)

我只在这里搜索了stackoverflow,结论是Apple不再允许在iOS 6之后找到手机EMEI。

您可以使用UDID识别设备。 我在这里找到了答案https://stackoverflow.com/a/19927376/2283308

答案 5 :(得分:1)

将头文件“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);

答案 6 :(得分:0)

https://www.telesign.com/products/phone-id

公司有一个名为TeleSign的SDK,它可以获取设备的IMEI编号(除了其他清单,例如运营商,设备所有者的家庭住址等)。商店中一些最大的应用程序都使用此提供程序(例如Tinder和Evernote)。我不为公司工作,也从来没有,也不想为我工作,而且我从未使用过他们的任何产品。我也不知道Apple是否会拒绝使用此API。但是,如果您希望使用Swift / Objecive-C接口获取IMEI号码,那就是一个。