Что делать, если хочется программировать под iPad или iPhone, а Мака под руками нет? Apple, к сожалению, не предоставляет никакой возможности разрабатывать приложения для своих iУстройств под Windows или Linux. Однако с использованием технологии виртуализации можно решить эту проблему. Как? Подробная инструкция под катом. :)

Внимание! Описанный метод, равно, как и тот, что указан по ссылке ниже, более не работает!

Внимание! С момента написания этой заметки процесс установки Xcode в виртуальной машине с Windows существенно упростился. Обновленную версию руководства по установке Xcode в Windows можно найти тут.

1.0. Загрузим и установим виртуальную машину с OS X на Windows 7.

1.1. Для работы нам потребуется ноутбук или компьютер, поддерживающий виртуализацию (подавляющее большинство современных компьютеров и ноутбуков на это способны), и имеющий хотя бы 1 Гб оперативной памяти (чем больше, тем лучше) и примерно 20 Гб свободного дискового пространства.

1.2. Создайте в Windows 7 папку OS X.

1.3. Нам необходимо загрузить следующие файлы:

  • VMware Player - программа, работающая с виртуальными машинами. Для загрузки потребуется создать себе бесплатный аккаунт.

  • Snow Leopard 10.6.2 - торрент с образом операционной системы OS X Snow Leopard 10.6.2.

  • Snowy_VM.zip(зеркало) - дополнительные файлы, необходимые для работы.

  • MacOSXUpdCombo10.6.7.dmg - накопительное обновление OS X до версии 10.6.7.

  • legacy_kernel-10.7.0.pkg - пропатченное ядро для версии 10.6.7.

  • Xcode 4 - среда разрабоки Xcode 4. Подойдет и любой другой торрент.

Все загруженные файлы сохраните в созданной на предыдущем шаге папке OS X.

1.4. Устанавливаем VMware Player в Windows 7.

1.5. Распаковываем Snowy_VM и находим в полученной папке следующий файл: Snowy_VM\Snowy_VM\Mac OS X Server 10.6 (experimental).vmwarevm\Mac OS X Server 10.6 (experimental).vmx. Двойным щелчком запускаем этот файл, откроется VMware Player.

1.6. Вы увидите черный экран. В верхней части окна нажимаем Virtual Machine > Virtual Machine Settings > CD/DVD > Settings.

1.7. В левой части открывшегося окна нажимаем Use ISO image file, затем нажимаем Browse.

1.8. Выбираем загруженный из торрента файл с операционной системой **Snow Leopard 10.6.2. **Нажимаем ОК, возвращаемся к черному экрану.

1.9. В верхней части окна нажимаем Virtual Machine > Send Ctrl + Alt + Del. Виртуальная машина загрузится с указанного нами iso-образа OS X. Как только на экране появится текст, нажмите F8 на клавиатуре.

Здесь можно вводить boot-флаги. В зависимости от Вашего компьютера, могут потребоваться разные boot-флаги. Большинство компьютеров будут работать без каких бы то ни было boot-флагов, поэтому для начала попробуйте просто нажать  Enter.

Появится синий экран, через несколько секунд появится окошко с выбором языка. Если оно появилось, перейдите к шагу 1.10.

Если указанный экран не появился в течение 10 минут, придется вводить boot-флаги. В верхней части окна нажимаем Virtual Machine > Power > Reset. Далее жмем F8 **и вводим -x -v busratio=20 cpus=1 arch=i386 -x32**. Если экран с выбором языка появился, переходим к шагу 1.10.

Если по-прежнему не удалось получить экран с выбором языка, нажимаем Virtual Machine > Power > Reset. **Далее нажимаем F8 и вводим -v** на экране загрузки. Это позволит понять, почему система виснет, для этого придется погуглить возникающую ошибку.

1.10. Следуйте инструкциям программы установки до шага Install Summary.

1.11. На этом экране нажмите Customize

1.12. В открывшемся окне выберите Mac OS_X_10.6.2. **В разделе Kernels выберите Legacy_kernel_10.2.0. В разделе **Graphic_Drivers **выберите GraphicEnabler. Нажмите Done, далее нажмите Install**. Процесс установки займет ориентировочно 10-15 минут.

1.13. После завершения установки, появится обратный отсчет, как на шаге 1.9. Нажмите F8. **Далее в верхней части окна нажмите Virtual Machine > Virtual Machine Settings > CD/DVD > Settings.**

1.14. В открывшемся окне выберите Snowy_VM\Snowy_VM\darwin_snow.iso.

1.15. В верхней части окна выберите Virtual Machine > Send Ctrl + Alt + Del.

1.16. Теперь Вам остается только дождаться, пока загрузится OS X 10.6.2! Просто следуйте инструкциям программы настройки системы для того, чтобы создать пользователя. Если загрузка длится слишком долго, в верхней части экрана выберите Virtual Machine > Power > Power off. Затем двойным щелчком по имени виртуальной машины в левой части окна запустите виртуальную машину еще раз.

Для того, чтобы выключить виртуальную машину просто закройте окно VMware Player или в верхней части окна выберите Virtual Machine > Power > Power off.

2.0. Включим в виртуальной машине доступ в Интернет. По умолчанию он выключен. Не то, чтобы доступ в Интернет нам был сильно нужен, но всегда приятнее искать что-то про Xcode из самой OS X, чем из хостовой Windows.

2.1. Запустите VMware Player, если он не запущен. В левой колонке выберите виртуальную машину, для которой Вы хотите включить доступ в Интернет.

2.2. В верхней части окна выберите Virtual Machine > Virtual Machine Settings.

2.3. В левой части окна щелкните по Network Adapter. В разделе Network connection смените Bridged на NAT. Нажмите OK.

2.4. Запустите виртуальную машину и убедитесь, что Интернет работает.

3.0. Для комфортной работы установим на виртуальную машину VMware Tools (это позволит нам настроить общую папку между физическом машиной и виртуальной машиной), а также настроим звук и разрешение экрана.

3.1. Запустим виртуальную машину. В верхней части окна выберем Virtual Machine > Virtual Machine Settings > CD/DVD > Settings.

3.2. В правой части окна под Device status поставьте галочку у пунктов Connected **и **Connect at power on. Нажмите OK.

3.3. Через несколько секунд в OS X на рабочем столе появится иконка с названием VMware Tools. Сделайте на ней двойной щелчок и выберите Install VMware Tools.

3.4. Следуйте инструкциям программы установки, в конце подтвердите установку вводом своего пароля. Дождитесь завершения установки.

3.5. В верхней части окна выберите Virtual Machine > Virtual Machine Settings > CD/DVD > Settings. В верхней части открывшегося окна перейдите на вкладку Options. В разделе Folder sharing **выберите Always enabled**.

3.6. Нажмите Add в нижней части окна. В строке Browse выберите путь к папке OS X, в которой у нас лежат все загруженные файлы для установки Xcode . Нажмите последовательно OKNext, а затем Finish.

3.7. Через несколько секунд на рабочем столе виртуальной машины появится иконка с именем** VMware Shared Folders. Сделайте по ней двойной щелчок, далее выберите папку OS X. В ней выберите папку Snowy_VM, а в ней сделайте двойной щелчок по EnsoniqAudioPCI.mpkg**.

3.8. Дважды выберите Continue, затем в открывшемся окне выберите AppleAC97Audio with EnsoniqAudi… и EnsoniqAudioPCI Plugin. Нажмите Continue, **а затем Install**.

3.9. После завершения установки у Вас в OS X будет работать звук, экран виртуальной машины можно будет развернуть на весь экран физической машины, кроме того, будет настроена общая папка **OS X, **из которой мы и будем ставить Xcode, а также обновление системы на следующих шагах. Возможно, впрочем, что для работы звука и полноэкранного режима придется перезагрузить виртуальную машину.

4.0. Мы установили виртуальную машину с OS X 10.6.2. Однако Xcode 4 будет работать только с последней версией OS X. Следовательно, нам надо обновить нашу виртуальную машину до версии 10.6.7.

4.1. В виртуальной машине нажимаем на иконку VMware Shared Folders, **выбираем нашу папку OS X. В ней запускаем установку legacy_kernel-10.7.0.pkg** и останавливаемся на первом шаге.

4.2. Далее запускаем лежащую рядом MacOSXUpdCombo10.6.7.dmg, и следуем инструкциям установщика. После завершения установки не нажимаем кнопку перезагрузки, а запускаем установку legacy_kernel-10.7.0.pkg. Система подумает, и при установке legacy_kernel-10.7.0.pkg процесс установки прервется. Не пугаемся, просто перезапускаем установку legacy_kernel-10.7.0.pkg еще раз, дожидаемся завершения и перезагружаем виртуальную машину.

5.0. Устанавливаем Xcode.

5.1. В виртуальной машине нажимаем на иконку **VMware Shared Folders, **выбираем нашу папку OS X. В ней запускаем установку *.dmg-файла, содержащего Xcode. Далее выбираем пакет **Xcode and iOS SDK **и запускаем его.

5.2. Следуем инструкциям программы установки.

5.3. После завершения процесса установки в Dock-е иконка Xcode сама не появится. Для того, чтобы найти программу надо щелкнуть на иконке жесткого диска в правом верхнем углу рабочего стола, перейти в папку Developer, а далее - в папку Applications.

5.4. В папке Applications ** Вы увидите иконку **Xcode. Рекомендую перетащить ее в Dock (список программ в нижней части рабочего стола). На этом процесс установки завершен, можно начинать программировать в Xcode.

Если Вы не нашли по указанному адресу иконки Xcode, возможно виртуальной машине не хватает дискового пространства. Убедитесь, что виртуальная машина имеет хотя бы 10 Гб свободного дискового пространства. Также можно перезапустить виртуальную машину - иногда это помогает.

Теперь Вы можете начать программировать на Objective-C. Если Вы ни разу не программировали на этом языке, рекомендую ознакомиться с туториалами, которых в сети довольно много (например, вот тут -  Xcode и Xcode iPhone development). Также можно воспользоваться встроенной в Xcode справочной системой.

Более подробно с процессом можно ознакомиться по этой ссылке (английский).

Комментарии к заметке из старого блога

Заметка висела больше года в старом блоге, к ней накопилось более сотни комментариев. Поскольку в них содержится полезная информация, а самих комментариев много, приведу тут скриншоты с ними.