2011-03-31 2 views
1

10.4에 UUID 값을 가져와야하지만 명령이 여기에서 지원되지 않는 것 같습니다.OS X 10.4에서 'IOPlatformUUID'를 얻는 방법은 무엇입니까?

ioreg -rd1 -c IOPlatformExpertDevice | awk '/IOPlatformUUID/ { split($0, line, "\""); printf("%s\n", line[4]); }' 

위의 명령은 10.5에서 정상적으로 작동합니다. 10.4에서는 지원되지 않습니까?

void vlm_getSystemUUID_MAC(char * uuid, int bufSize) 
{ 
    io_registry_entry_t ioRegistryRoot = IORegistryEntryFromPath(kIOMasterPortDefault, "IOService:/"); 
    CFStringRef uuidCf = (CFStringRef) IORegistryEntryCreateCFProperty(ioRegistryRoot, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, 0); 
    IOObjectRelease(ioRegistryRoot); 
    CFStringGetCString(uuidCf, uuid, bufSize, kCFStringEncodingMacRoman); 
    CFRelease(uuidCf); 
} 

을 그리고 위의 코드는 10.5에서 잘 실행 :

또한 나는 또한 작동하지 않는, 10.4에 코드 아래 사용하여 UUID를 가져 오기 위해 노력하고 있습니다.

도움을 주시면 감사하겠습니다.

답변

0

나는 IOPlatformUUID가 Mac OS X 10.5 Leopard에 처음 추가되었으며 이전 버전에서는 사용할 수 없다고 생각합니다. This blog post이 변경 사항이 10.5에 추가되었음을 알립니다.

Mac OS X 10.4 및 이전 버전이 설치된 Mac의 ID를 얻으려면 IOPlatformSerialNumber 및/또는 내장 MAC 주소 중 하나를 사용해야합니다. 자세한 내용과주의 사항은 다음을 참조하십시오. http://developer.apple.com/library/mac/#technotes/tn1103/_index.html

관련 문제