2009-12-31 51 views

回答

2

可以使用由于IOKit读取系统序列号或硬件MAC地址。

查看Apple技术说明TN1103(“唯一标识Macintosh计算机”)以获取示例代码和更多信息。

3

试试这个:

CFUUIDRef UUID = CFUUIDCreate(kCFAllocatorDefault); 
CFStringRef UUIDString = CFUUIDCreateString(kCFAllocatorDefault,UUID); 
// UUIDString is the CFStringRef (== NSString *) that contains the UUID. 

// Cleanup 
CFRelease(UUID); 
CFRelease(UUIDString); 
+0

这对世界各地的电脑来说都是独一无二的吗? – Chetan 2010-01-01 01:16:49

+0

它是Mac特定的,还是Windows版本('UuidCreateSequential()')会给出相同的结果? – Chetan 2010-01-01 01:17:33

+0

根据此:http://developer.apple.com/mac/library/documentation/CoreFoundation/Reference/CFUUIDRef/Reference/reference.html,UUID在时间和空间上是唯一的。我需要它随着时间的推移变得一样,因为我希望能够随时使用它来唯一标识一台计算机。我该怎么做呢? – Chetan 2010-01-01 01:23:14

0
[[NSProcessInfo processInfo] globallyUniqueString]; 
+0

worldwideUniqueString保证在整个网络中是唯一的(根据文档)。全局唯一字符串也不保证返回字符串的长度或性质,而UUID具有规定的格式。 – diederikh 2009-12-31 11:11:47