cocoa - 如何替换 10.8 中已弃用的 FSFileOperationCreate?

标签 cocoa osx-mountain-lion

我正在编写专门针对 MountainLion 的代码,因此我想尽量避免使用已弃用的 API。

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

Creates an object that represents an asynchronous file operation. (Deprecated in OS X v10.8. At the Foundation layer, use copyItemAtURL:toURL:error: instead. At the POSIX/BSD layer, use copyfile(3) OS X Developer Tools Manual Page instead.)

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

如何在 10.8 中获得相同的行为而不需要自己重写代码?

苹果现在知道制造同样的东西是简单而可怕的吗?

最佳答案

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

[1] 此一般领域中的相当多 API 已被弃用,并且虽然引入了一些新 API,但它们似乎不完整。合理猜测可能会在 10.9 中出现更多...

关于cocoa - 如何替换 10.8 中已弃用的 FSFileOperationCreate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12438835/

相关文章:

cocoa - 基于 NSDocument 的 Mac 应用程序,带有文档 bundle ,保存速度超慢

ios - CATextLayer 旋转?

iphone - 防止重复的 NSArray(一个已排序,一个未排序)

macos - 取消跟踪 git 上的所有文件

php - 如何在 Mac OS X 10.8 Mountain Lion 上安装 OCI8 PHP 扩展

python - 更改 OSX Mountain Lion 中的默认 python

macos - Mac OS 10.8 支持 GLSL 3.30?

cocoa - 核心动画 'flip'动画

objective-c - 正确的权利标志将文件保存在同一位置两次

xml - 将 XML 导入 Cocoa 问题