从Swift中的系统配置中获取LocalHostName的替代方法?

时间:2020-02-04 17:46:34

标签: swift hostname system-configuration

我正在尝试在Swift中获取系统配置的本地主机名,即运行scutil --get LocalHostName产生的值。我可以使用系统配置API使用以下代码来执行此操作,但是我想知道是否有不需要创建SCDynamicStore对象的替代方法。

let store = SCDynamicStoreCreate(nil, "store" as CFString, nil, nil)
let hostname = SCDynamicStoreCopyLocalHostName(store) // "Steves-Macbook-Pro"

我尝试使用Host.current().nameHost.current().localizedName,但这些结果均不正确:

print(Host.current().name)          // "steves-macbook-pro.local"
print(Host.current().localizedName) // "Steve's Macbook Pro", same result as scutil --get ComputerName

因此,看来Host.current().localizedName从系统配置中返回了ComputerName,但是我不知道除了我当前使用的方法之外,还有没有其他选择来获取LocalHostName。最好使用单线,因为当前方法有更多的边缘情况需要处理,但是我不知道这是否可行。

0 个答案:

没有答案