用于标识用户的UDID号

时间:2013-03-07 21:13:33

标签: ios objective-c udid

Hello StackOverflow成员:) 我想知道是否可以发送UDID号码以通过调用Web服务来验证我的应用程序的用户?

在我的数据库中,我将UDID作为主键和引用此键的可用信用点数。

Apple允许吗?如果是,我如何以编程方式获取UDID?

1 个答案:

答案 0 :(得分:3)

可以获取序列号,但我认为不建议使用UDID

对于序列号,您可以使用此代码

- (NSString*)getSerialNumber
{
    CFTypeRef serialNumberAsCFString;
    io_service_t platformExpert = IOServiceGetMatchingService(
        kIOMasterPortDefault, IOServiceMatching("IOPlatformExpertDevice"));
    if (platformExpert)
        {
            serialNumberAsCFString = IORegistryEntryCreateCFProperty(
                platformExpert, CFSTR(kIOPlatformSerialNumberKey), 
                kCFAllocatorDefault, 0);
        }
    IOObjectRelease(platformExpert);
    NSString *serial = 
        [[NSString alloc] initWithFormat:@"%@",serialNumberAsCFString];
    return serial;
}

Reference for the code

但是你可以尝试这行代码来获取UDID,我不确定它是否会提供所需的结果。 Apple可能拒绝该应用程序,并且在较新版本的iOS中不推荐使用此UDID功能。

NSString *uid;
uid= [[UIDevice currentDevice] uniqueIdentifier];
NSLog(@"udid is %@",uid);