Уже писал "hello world" для iPhone.
Компилить и собирать консольные приложения несложно, но опыта работы с ними у меня нет
я тренировался на эмуляторе интерфейсов (именно интерфейсов, а не arm устройства), и делал гуёвый Hello world. Т.к. у меня самого iPhone/iPod нету, то просил участника fpc команды скомпилить и проверить - и заработало!
статью о подготовке fpc к iPhone, читаем здесь:
http://wiki.lazarus.freepascal.org/iPho ... evelopment(здесь же есть пример opengles приложения)
если нужны ГУЁвые проги, то про Cocoa widgetset - забудьте! он основывается на framework-е AppKit.
AppKit существует только для Mac OS. В iPhoneOS используется UiKit.
что приятно порадовало, большое количество Cи-шных системных функций (вроде Core Foundation, sockets, opengles, openal и т.д.) успешно перекочевало на iPhoneOS, и не нужно использовать только Objective-C. Для этих функций уже сконвертированы хедеры. Но про MacOSAll тоже забудьте, потому что он заточен под OSX 10.4.
Основные вилы, это:
1) нужна лицензия разработчика (минимум 100$ в год) чтобы загружать на iPhone проги через XCode. Про другие способы я не знаю (но точно знаю что они есть
ибо пираццтво!)
2) как конкретно Xcode заливает проги на iPhone доподлинно неизвестно. А это значит, чтобы залить прогу, придётся создавать FPC XCode проект. Лично меня это не радует, потому что я пишу с помощью Lazarus-а, и ковыряться с XCode, не охота (а надо). В планах написать конвертер Lazarus Project -> XCode project
3) Заголовки UIkit и все iPhoneOS библиотек НЕЛЬЗЯ распространять, даже в виде паскалевских исходников - нарушение лицензии Apple. Если это нарушить, то можно испачкать себя и всех окружающих (сообщество fpc).
Есть 2 варианта: конвертировать только то, что нужно ручками и никому не показывать (так уже делал - не слишком трудно кстати), либо ждать PasCocoa с её конвертером.
4) есть несколько проектов PasCocoa - для работы с интерфейсами Objective-C. В целом ничего сложного в работе с objc объектами нет (Спасибо разработчикам Apple). Но ни один из PasCocoa незакончен
Есть куча желания довести это всё до ума, а времени нет....
http://wiki.lazarus.freepascal.org/PasCocoaЕсть ещё вариант PasCocoa, как расширение синтаксиса паскаля.
http://wiki.lazarus.freepascal.org/FPC_PasCocoa5) intel mac os x ONLY. скорей всего - хакинтош сгодится то же
powerpc - забудьте
6) собственно девайс. Лично мне нужно 2 месяца питаться исключительно святым духом, и не пользоваться инетом, светом и водой, чтобы позволить купить себе сие устройство (не влезая в долги). т.к. iPod touch дешевле iPhone, имеет смысл приобрести именно iPod.
Всё собирался прикрутить к Lazarus-у расширение, чтобы можно было по-быстрому собирать iPhone приложения. Но т.к. конвертер (пункт №2 см.выше), не написал, то и расширение не реализовано .. (эх, позор на мою голову! грозился ещё месяц назад это всё сделать)
Вывод:
* нужны срочные финансовые вложения в развитие FPC+iPhone
...это так, иначе терпеливо ждём/помогаем в разработке.
* задатки положены отличные! Все будущие возможные выкрутасы Apple, с повальным переходом на Objective-C, FPC воспримет абсолютно безболезненно
Неплохо, если будущий apple-book тоже будет основан на iPhoneOS. ну и поддержка 64-битных приложений в маке будет (carbon - 32 bit only)