在iPhone上,我可以使用

[[UIDevice currentDevice] uniqueIdentifier];

获取标识此设备的字符串。 OSX中有什么相等的东西吗?我什么都没找到我只想识别启动该应用程序的Mac。你能帮助我吗 ?

最佳答案

苹果在唯一标识Mac上有一个technote。这是Apple在该技术说明中发布的代码的宽松修改版本...不要忘了将您的项目与IOKit.framework链接以构建此代码:

#import <IOKit/IOKitLib.h>

- (NSString *)serialNumber
{
    io_service_t    platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,

    IOServiceMatching("IOPlatformExpertDevice"));
    CFStringRef serialNumberAsCFString = NULL;

    if (platformExpert) {
        serialNumberAsCFString = IORegistryEntryCreateCFProperty(platformExpert,
                                                         CFSTR(kIOPlatformSerialNumberKey),
                                                             kCFAllocatorDefault, 0);
        IOObjectRelease(platformExpert);
    }

    NSString *serialNumberAsNSString = nil;
    if (serialNumberAsCFString) {
        serialNumberAsNSString = [NSString stringWithString:(NSString *)serialNumberAsCFString];
        CFRelease(serialNumberAsCFString);
    }

    return serialNumberAsNSString;
}

关于cocoa - Mac的唯一标识符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5868567/

10-11 03:00