Краткий ответ - да.
Одна из возможностей узнать что-то из того, что вам нужно знать перед приобретением Mac, - это GNUstep.
Однако GNUstep в основном полезен для изучения Objective C, тем более что он предоставляет многие классы, которые есть в инструментарии Cocoa для iPhone. Это можно запустить в Windows.
Однако он не поддерживает некоторые ключевые функции языка 2.0, которые используются «постоянно» в любом примере кода.
Это позволит вам разработать пользовательский интерфейс с использованием их конструктора пользовательского интерфейса GORM и использовать почти идентичную систему на основе сообщений для реализации пользовательского интерфейса, и вы можете теоретически написать классы Objective C в GNUstep, а затем использовать их на iPhone.
Однако, чтобы скомпилировать приложение для iPhone, вам в основном нужен Mac, потому что тогда вы можете получить ключ для подписи приложения и т. Д. Так как вам нужно получить Mac в какой-то момент, действительно мало смысла в этом. гораздо более сложный путь использования GNUstep в первую очередь и изучения более ограниченной реализации, если только вам действительно не нужно начинать работу до того, как появятся средства.
Несмотря на новые термины SDK, которые могут использоваться в других языках программирования, если вы действительно хотите начать без Mac, у меня, вероятно, возникнет искушение взглянуть на что-то вроде Unity или, возможно, даже на Appcelerator Titanium, и выяснить все не зависящая от платформы логика в первую очередь на любой платформе (например, Unity имеет бесплатную версию, которую можно запустить в Windows).
Я не такой большой поклонник xcode, но он далеко и лучший IDE для разработки Objective C просто потому, что там больше ничего нет.
Есть, как всегда, другие варианты. Если вы делаете проект типа веб-приложения, вы можете реализовать веб-сайт и протестировать его в браузере. Кроме того, поскольку браузеры Android и iPhone основаны на WebKit, вы можете использовать бесплатный Android SDK, чтобы посмотреть, как выглядят страницы на сопоставимом мобильном устройстве. И поскольку вы можете использовать классы C и C ++, а также Objective C (NB не для GUI, поскольку для обмена сообщениями между объектами нужны расширения Objective C), другой вариант для запуска без Mac будет использовать Eclipse, QT Создатель или какая-либо другая C / C ++ IDE для реализации не-GUI-классов, при условии, что вы не используете специфичные для платформы библиотеки.
Но конец длинного ответа заключается в том, что что бы вы ни делали, чтобы скомпилировать правильное приложение для iPhone, вы будете использовать xcode и связанные с ним инструменты, чтобы, наконец, создать его и подписать, и в итоге вам понадобится Mac. Если вы хотите создать что-то для iPhone и не иметь доступа к Mac, то, возможно, вам лучше всего создать сайт, адаптированный для iPhone, с использованием iui или аналогичного инструментария, чтобы придать сайту подходящий внешний вид.