【问题标题】:How to replace deprecated FSFileOperationCreate in 10.8?如何替换 10.8 中已弃用的 FSFileOperationCreate?
【发布时间】:2012-09-15 15:54:26
【问题描述】:

我正在编写特定于 MountainLion 的代码,因此我想尽量避免使用已弃用的 API。

我使用FSFileOperationCreate 接收有关复制进度的信息(kFSOperationBytesCompleteKey、kFSOperationThroughputKey、kFSOperationTotalBytesKey),但文档显示

创建一个表示异步文件操作的对象。 (在 OS X v10.8 中已弃用。在基础层,使用 copyItemAtURL:toURL:error: 代替。在 POSIX/BSD 层,使用 copyfile(3) OS X 开发者工具手册页。)

使用 copyItemAtURL:toURL:error 和 NSFileManagerDelegate 似乎不可能获得相同的信息。

如何在不自己重写代码的情况下在 10.8 中获得相同的行为?

Apple 现在知道做同样的事情很简单吗?

【问题讨论】:

  • 听起来像是在http://bugreporter.apple.com 向 Apple 提交错误的机会。 Apple 需要知道开发人员需要并且无法通过“官方支持”的替代 API 获得有用的信息。

标签: cocoa osx-mountain-lion


【解决方案1】:

可能不是您希望听到的答案[1],但将 copyfile(3) 包装在您自己的 Obj-C 包装器中。您应该能够使用回调计算您需要的所有内容,尤其是进度之一。 HTH。

[1] 这个一般领域的很多 API 已被弃用,虽然引入了一些新的 API,但它们似乎不完整。合理的猜测可能会在 10.9 中推出...

【讨论】:

    猜你喜欢
    • 2020-02-27
    • 2020-06-07
    • 2016-08-26
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多