适用于Mac OS X的UIDevice类?

时间:2011-11-01 21:13:43

标签: ios macos cocoa osx-lion

我正在尝试将我的一个iOS应用程序移植到Mac OS X,我正在努力为OS X找到类似UIDevice的对象。我有兴趣获取设备的名称,例如“MacBook Air的”。

修改/ ANSWER
正如Josh Caswell指出的那样,您可以使用SCDynamicStoreCopyComputerName密钥。

以下是代码:

+ (NSString *)computerName {
   return [(id)SCDynamicStoreCopyComputerName(NULL, NULL) autorelease];
}

4 个答案:

答案 0 :(得分:5)

Net Services Programming Guide说:

  

在桌面上的Mac OS X中,从系统配置框架调用SCDynamicStore函数会返回计算机名称,以便您可以像处理任何其他字符串一样操作它。在iOS中,您可以从UIDevice类的名称属性中获取相同的信息。

似乎没有一个名为SCDynamicStore的函数(doc bug),但您可能需要SCDynamicStoreCopyValue。看起来您使用SCDynamicStoreKeyCreateComputerName获得了所需的密钥。

编辑:或者,更好的是,如您所见,使用SCDynamicStoreCopySpecific.h中的SCDynamicStoreCopyComputerName函数

答案 1 :(得分:2)

Swift 4.0 OSX

以下是我对UIDevice名称

的类似值所需的内容

iOS(swift 3.2)

let deviceName = UIDevice.current.name

OSX(swift 4.0)

let deviceName = Host.current().name

答案 2 :(得分:1)

NSHost *host = [NSHost currentHost];
NSLog(@"hostName %@",[host localizedName]);

你可以看到mac名称

答案 3 :(得分:0)

您可以尝试NSHost。 Heres the class documentation