繁体   English   中英

用于 Mac OS X 的 UIDevice class?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM