Pull to refresh

Ручное «оффлайн» добавление и обновление поддержки iOS 3.x & 4.x в iOS Simulator SDK 5.x

Reading time 3 min
Views 2.8K
Приветствую всех уважаемых хабражителей!

Данный хабратопик описывает «механизм» ручной загрузки пакета Xcode 4.2 iOS 4.3 Simulator, его обновлений и дополнений поддержки iOS 3.х & 4.x в iOS 5.x SDK для их последующей установки в оффлайн режиме.
При наличии нескольких рабочих мест, используемых для разработки, и желании экономить время и трафик при обновлении предлагаемая методика может оказаться полезной.
Для начала запускаем нашу среду Xcode, переходим в меню Xcode -> Preferences... и в открывшемся окне настроек переходим на вкладку Downloads. В результате видим примерно следующее:

В данном случае iOS 4.3 Simulator у нас уже установлен, но отсутствует поддержка создания, запуска и отладки программ на устройствах с iOS 3.0-3.2.2 и 4.0-4.1. Можно, конечно, воспользоваться предлагаемой Xcode услугой Check for and install updtates automatically, но эту операцию необходимо будет повторить на всех рабочих местах, где установлена среда Xcode. Мы же хотим загрузить обновления один раз и установить их затем на все рабочие места. Как нам достичь этой цели? Решение приведено ниже.
  1. Запускаем Safari. В адресной строке вводим адрес iOS Dev Center и авторизуемся под нашим аккаунтом разработчика.
  2. Открываем еще одну вкладку Safari и в адресной строке вводим адрес devimages.apple.com.edgekey.net/downloads/xcode/simulators/index.dvtdownloadableindex.
    В результате в окне Safari мы должны увидеть XML код:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    ...
    Для iOS и Mac OS разработчиков ясно, что перед нами PropertyList (.plist).
    • Ключ downloadables с типом array это массив, каждый элемент которого c типом dict является описанием загружаемого пакета обновления.
      Обратим внимание на первый элемент:
      <key>fileSize</key>
      <integer>498838122</integer>
      <key>identifier</key>
      <string>Xcode.SDK.iPhoneSimulator.4.3</string>
      <key>name</key>
      <string>iOS 4.3 Simulator</string>
      <key>source</key>
      <string>http://adcdownload.apple.com/Developer_Tools/ios_simulator/<br/>iphone_4.3_iphonesimulatorsdk4_3.dmg</string>
      • Ключ fileSize с типом integer содержит информацию о размере пакета.
      • Ключ identifier с типом string содержит идентификатор пакета.
      • Ключ name с типом string содержит название пакета.
      • Ключ source с типом string и есть URL адрес для загрузки с сервера обновления необходимого нам пакета в формате инсталляционного образа DMG.
      • В следующем далее вложенном ключе userInfo с типом dict содержится информация, необходимая для установки пакета в среду Xcode (иконка, место установки, описание и т.п.).
  3. Попробуем открыть полученный адрес в новой вкладке Safari. Нас переадресуют на страницу Downloads & ADC Member Assets с сообщением о том, что наш сеанс просрочен и предложением вернутся на страницу ADC Member Site для повторной попытки загрузки файла. Воспользуемся этим предложением и получим переадресацию на страницу Downloads for Apple Developers. В этом многостраничном списке нет нужного нам пакета! Но нас не остановят временные неудачи. Выбираем любой пакет из списка (я лично воспользовался «HTTP Live Streaming Tools», руководствуясь сравнительно малым его размером в 1.63 MB) и загружаем выбранный пакет по ссылке. Необходимо дождаться начала загрузки файла.
  4. Одновременно с начавшейся загрузкой в новой вкладке Safari открываем интересующий нас адрес. Если все сделано правильно начинается загрузка нужного нам файла.
  5. Повторяем эту операцию для всех нужных нам пакетов дополнений и обновлений.
  6. Откроем один из загруженных нами в п.5 образов iphone_4_iphonesdk4x.dmg. Внутри мы видим стандартный для Mac OS X установочный пакет iPhoneSDK4_x.pkg. Для установки его необходимо открыть в приложении Installer и в качестве папки назначения указать место установки SDK iOS 5.0 (при стандартной установке по умолчанию это папка /Developer в корне системного диска).
  7. Аналогично устанавливается пакеты из образов iphone_3_iphonesdk3x.dmg и iphone_4.3.5_iphonesimulatorsdk4_3patch1.dmg

.
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
+2
Comments 2
Comments Comments 2

Articles