Как оказалось начать не так просто... Я до сих пор еще не привык толком к самой Mac OS, и по этому иногда в приложениях, особенно многооконных (или это несколько приложений?), ориентируюсь с трудом. А еще, как оказалось, основной язык программирования - Objective-C - отличается от C и C++ некоторыми вещами. Есть кое-что похожее на C#, которым я сейчас и пользуюсь на работе, но опять же это не то. Так что придется вначале изучать его. Хотя можно попробовать использовать MonoTouch, который реализует функциональность C# и .NET для программирования под iPhone, в некоторой степени, но это тоже с лету не делается. Так что интереснее будет изучить новый язык, тем более на это у меня обычно уходит не много времени.
Еще и книг по программированию под iPhone на русском похоже нет, да и на английском не так много. Правда есть книжечка даже по прошивке 3.0, которая только вышла: Beginning iPhone 3 Development Exploring the iPhone SDK (Dave?Mark and?Jeff?LaMarche).
Еще, как я понял, Apple ставит достаточно строгие ограничения на проги пропускаемые в iTunes Store. Пока я не совсем понял, но похоже, что приложения должны запускаться и работать на любом iPhone и еще на iPod (Touch, вероятно). Нужно будет с этим разобраться. По идее я не понимаю, что делать с GPS-приложениями.
Так что вот, приступаю к изучению, xCode стоит уже. И раз начинаю с изучения просто Objective-C, то проще будет попрограммить под Mac OS, а тут я уже писал на эту тему кое-что: http://rupor.sampo.ru/topic/1799#comment-9413
P.S.: Вот хвастаюсь, что изучаю достаточно быстро языки программирования, однако на C# пишу уже порядка 4-ех лет, и вдруг узнал, что foreach не позволяет изменять текущий объек пробегаемой коллекции, создается копия объекта похоже. Хотя, вероятно, я уже с этим сталкивался, просто из головы вылетело, а сегодня вот коллега столкнулся, и пришлось книжечку полистать,и перечитать про то, что для изменения объектов коллекции придется ее вручную пробегать обычным for'ом.