У меня есть устаревшее приложение на основе Mac Carbon, которое я портировал на 64-битный (Lion и выше). Приложение сильно использовало семейство функций и структур FS на уровне C, включая ссылки на Finder.h. Мне удалось собрать то, что работает с SDK OS X 10.7+, хотя и с множеством устаревших функций.Могут ли API-интерфейсы файловой системы уровня POSIX между OS X, iOS и Android?
Теперь я пытаюсь перенести приложение в iOS (и в будущем Android также). Поскольку у iOS нет классических корней Mac OS, многие структуры FS и идеология построения вокруг Finder несуществуют.
Вопрос в том, можно ли построить слой межплатформенной файловой системы поверх функций, поддерживаемых POSIX для трех платформ, о которых я упоминал? Я не знаю, что ни iOS, ни Android не сертифицированы как совместимые с POSIX, хотя они очень похожи на системы POSIX.
У меня есть большой кусок кода, чтобы очистить зависимость от Mac OS с моего уровня приложения, и моя кишка говорит мне, что в конечном итоге будет дешевле попробовать обработать доступ к файлам, перечислить папку и разрешение символической ссылки с помощью C API уровня.
Я проигнорировал методы NSFileManager и Core Foundation как опции, потому что для этого потребуется другой слой абстракции и переписать, когда я в конечном итоге перейду на Android.
Я еще не знаком с POSIX-подобными средами, поэтому я ценю совет ветерана. Благодаря!
Итак, вы имеете в виду, что есть способ использовать POSIX для обработки ввода-вывода файлов на всех трех платформах, вы просто не рекомендуете его? «Полностью родной», я полагаю, вы хотите использовать Core Foundation для iOS и подпрограмм Android File Manager? Я хочу избежать трех отдельных копий кода для управления, поэтому в моем репозитории git я надеюсь работать с одной базой кода (и одним проектом XCode прямо сейчас с iOS/OS X). – HeroOfSpielburg
Я не пробовал POSIX для обработки ввода-вывода файлов. Я пробовал другие способы, которые работают для ввода/вывода файлов. Я бы не рекомендовал их использовать. –