macos – FSGetVolumeInfo是NSWorkspace不推荐使用的installedLocalVolumePaths方法的推荐替代方法吗?

macos – FSGetVolumeInfo是NSWorkspace不推荐使用的installedLocalVolumePaths方法的推荐替代方法吗?,第1张

概述我需要在Mac OS X上获取已安装的本地卷列表.以前, Cocoa类NSWorkspace有一个 mountedLocalVolumePaths method用于获取此类卷的安装点数组.从Lion开始,现在已经弃用了这个,在文档中没有提示我们应该使用什么. 我发现提供此信息的唯一其他Apple特定API是来自CoreServices.framework的FSGetVolumeInfo funct @H_403_4@ 我需要在Mac OS X上获取已安装的本地卷列表.以前,Cocoa类NSWorkspace有一个 mountedLocalVolumePaths method用于获取此类卷的安装点数组.从lion开始,现在已经弃用了这个,在文档中没有提示我们应该使用什么.

我发现提供此信息的唯一其他Apple特定API是来自CoreServices.framework的FSGetVolumeInfo function.如果为volume参数传递kFSInvalIDVolumeRefNum而为volumeIndex传递1..N,则枚举已装入的卷.它通过volumename输出参数返回卷名(作为HFSUniStr255),并通过rootDirectory输出参数作为FSRef返回挂载点,而FSRef又可以使用CFURLCreateFromFSRef()将其转换为URL.

这似乎有点复杂和不必要的低级别.

还有BSD级函数getfsstat()和getmntinfo(),它们都发出一个statfs结构数组. API似乎比核心服务版本更健全.

我应该使用更高级别的替代品吗?

@H_403_4@解决方法 有一个更简单的替代品,在一个比旧方法更合乎逻辑的地方: NSFileManager’s mountedVolumeURLsIncludingResourceValuesForKeys:options: method.@H_403_4@ @H_403_4@ @H_403_4@ @H_403_4@ 总结

以上是内存溢出为你收集整理的macos – FSGetVolumeInfo是NSWorkspace不推荐使用的installedLocalVolumePaths方法的推荐替代方法吗?全部内容,希望文章能够帮你解决macos – FSGetVolumeInfo是NSWorkspace不推荐使用的installedLocalVolumePaths方法的推荐替代方法吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1006025.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存