【发布时间】:2013-12-27 00:53:12
【问题描述】:
我有一个基于 Mac Carbon 的旧版应用程序,已移植到 64 位(Lion 及更高版本)。该应用程序在 C 级别大量使用了 FS 系列函数和结构,包括对 Finder.h 的引用。我设法拼凑出一些适用于 OS X 10.7+ SDK 的东西,尽管有许多已弃用的功能。
现在我正在尝试将应用程序移植到 iOS(以及未来的 Android)。由于 iOS 没有经典的 Mac OS 根源,因此许多 FS 结构和围绕 Finder 构建的意识形态都不存在。
我的问题是否可以在我提到的三个平台的 C POSIX 支持的函数之上构建一个跨平台的文件系统层?我知道 iOS 或 Android 都不是经过认证的 POSIX 兼容的,尽管它们的行为非常像 POSIX 系统。
我有大量代码可以在我的应用程序级别清除 Mac OS 依赖项,我的直觉告诉我,从长远来看,尝试使用 C- 处理文件访问、文件夹枚举和符号链接解析会更便宜级 API。
我忽略了 NSFileManager 和 Core Foundation 方法作为选项,因为当我最终迁移到 Android 时,这将需要另一个抽象层和重写。
我对类似 POSIX 的环境还不太熟悉,所以我很欣赏一位资深人士的建议。谢谢!
【问题讨论】:
标签: android ios macos file-io posix