0

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

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

苹果允许吗?如果是,我怎样才能以编程方式获取 UDID?

4

1 回答 1

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;
}

代码参考

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

NSString *uid;
uid= [[UIDevice currentDevice] uniqueIdentifier];
NSLog(@"udid is %@",uid);
于 2013-03-07T21:18:19.797 回答