2013-12-26 4 views
0

У меня есть устаревшее приложение на основе 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-подобными средами, поэтому я ценю совет ветерана. Благодаря!

ответ

0

Я сделал много кросс-платформенной разработки (Palm OS, Windows Mobile, BlackBerry, iOS, Android, Mac OSX, Windows 7 и Windows App Store), и теперь я рекомендую создать полностью родное приложение для iOS и Android. Есть способы сделать кросс-платформенную разработку между двумя платформами, но я не думаю, что стоит идти по этим путям. Создавайте полностью собственные приложения на каждой платформе и в полной мере пользуйтесь API-интерфейсами iOS и Android.

+0

Итак, вы имеете в виду, что есть способ использовать POSIX для обработки ввода-вывода файлов на всех трех платформах, вы просто не рекомендуете его? «Полностью родной», я полагаю, вы хотите использовать Core Foundation для iOS и подпрограмм Android File Manager? Я хочу избежать трех отдельных копий кода для управления, поэтому в моем репозитории git я надеюсь работать с одной базой кода (и одним проектом XCode прямо сейчас с iOS/OS X). – HeroOfSpielburg

+0

Я не пробовал POSIX для обработки ввода-вывода файлов. Я пробовал другие способы, которые работают для ввода/вывода файлов. Я бы не рекомендовал их использовать. –

Смежные вопросы