我正在用 Swift 编写一个 Cocoa 应用程序来确定可用的网络接口(interface)(wifi、以太网等),我想提取子类型选项。
例如,我有一个 Thunderbolt 以太网连接,在我的 Mac 网络偏好设置的“硬件”选项卡中,我可以将速度切换为 10baseT/UDP、100baseTX 等。
Apple 文档说我可以使用 SCNetworkInterfaceCopyMediaSubTypes获取一组可用媒体子类型(10BaseT/UTP、100baseTX 等),我需要做的就是给它一个 CFArray 参数,
available
The available options as returned by the SCNetworkInterfaceCopyMediaOptions function.
但是,文档指定 SCNetworkInterfaceCopyMediaOptions返回 bool 值,
TRUE if requested information has been returned
我正在尝试使用通过 SCNetworkInterfaceCopyAll() 检索到的接口(interface)的 CFArray,但 SCNetworkInterfaceCopyMediaOptions(interfaces) 返回 nil。
let interfaces = SCNetworkInterfaceCopyAll()
print(SCNetworkInterfaceCopyMediaSubTypes(interfaces))
>> nil
这是我可以在网络偏好设置中查看的屏幕截图
我怎样才能得到这个列表。我使用了错误的 CFArray 吗?我无法确定我还能传递什么,因为建议的 SCNetworkInterfaceCopyMediaOptions 返回一个 bool 值。
最佳答案
SCNetworkInterfaceCopyMediaOptions
返回一个 bool 值:
TRUE if requested information has been returned.
SCNetworkInterfaceCopyMediaOptions
返回一个数组,表示参数 available
中可能的媒体选项(子类型、选项)。
关于swift - Cocoa SCNetworkInterface 获取媒体子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35731234/