我正在尝试将我的一个iOS应用程序移植到Mac OS X,我正在努力为OS X找到类似UIDevice
的对象。我有兴趣获取设备的名称,例如“MacBook Air的”。
修改/ ANSWER
正如Josh Caswell指出的那样,您可以使用SCDynamicStoreCopyComputerName
密钥。
以下是代码:
+ (NSString *)computerName {
return [(id)SCDynamicStoreCopyComputerName(NULL, NULL) autorelease];
}
答案 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