[英]UIDevice class for Mac OS X?
我正在尝试将我的 iOS 应用程序之一移植到 Mac OS X,并且我正在努力为 OS X 找到类似于UIDevice
的 object。我有兴趣获取设备的名称,例如“MacBookAir”。
编辑/回答
正如 Josh Caswell 指出的,您可以使用SCDynamicStoreCopyComputerName
键。
这是代码:
+ (NSString *)computerName {
return [(id)SCDynamicStoreCopyComputerName(NULL, NULL) autorelease];
}
网络服务编程指南说:
在桌面上的Mac OS X中,从系统配置框架调用
SCDynamicStore
函数会返回计算机名称,以便您可以像处理任何其他字符串一样对其进行操作。 在iOS中,您可以从UIDevice
类的name属性获取相同的信息。
似乎没有一个名为SCDynamicStore
函数(doc bug),但您可能需要SCDynamicStoreCopyValue
。 看起来您使用SCDynamicStoreKeyCreateComputerName
获得了所需的密钥。
编辑:或者,甚至更好,正如您所发现的,使用SCDynamicStoreCopyComputerName
函数。
Swift 4.0 OSX
这是我对UIDevice名称的类似值所需要的
iOS(swift 3.2)
let deviceName = UIDevice.current.name
OSX(swift 4.0)
let deviceName = Host.current().name
NSHost *host = [NSHost currentHost];
NSLog(@"hostName %@",[host localizedName]);
你可以看到mac名称
随着Host
的弃用,您可能会考虑ProcessInfo.hostName
作为替代方案。 就我而言,它返回了:
ExampleHostName.local
你可以尝试NSHost。 下面是课程文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.