【发布时间】:2016-03-01 19:02:31
【问题描述】:
我正在用 Swift 编写一个 Cocoa 应用程序,它确定可用的网络接口(wifi、以太网等),我想提取子类型选项。
例如,我有一个 Thunderbolt 以太网连接,在我 Mac 的“硬件”选项卡的“网络偏好设置”中,我可以将速度切换为 10baseT/UDP、100baseTX 等。
Apple 文档说我可以使用SCNetworkInterfaceCopyMediaSubTypes 来获取可用媒体子类型的数组(10BaseT/UTP、100baseTX 等),我需要做的就是给它一个 CFArray 参数,
可用
SCNetworkInterfaceCopyMediaOptions 函数返回的可用选项。
但是,文档指定 SCNetworkInterfaceCopyMediaOptions 返回 Bool,
如果请求的信息已返回则为 TRUE
我正在尝试使用通过 SCNetworkInterfaceCopyAll() 检索到的接口的 CFArray,但 SCNetworkInterfaceCopyMediaOptions(interfaces) 返回 nil。
let interfaces = SCNetworkInterfaceCopyAll()
print(SCNetworkInterfaceCopyMediaSubTypes(interfaces))
>> nil
这是我可以在网络偏好设置中查看的屏幕截图
我怎样才能得到这个列表。我使用了错误的 CFArray 吗?由于建议的 SCNetworkInterfaceCopyMediaOptions 返回一个布尔值,我无法确定我还能传递什么。
【问题讨论】:
标签: swift macos cocoa networking osx-yosemite