Обновление от Snow Leopard до Mountain Lion в неличной и крупномасштабной среде разработки

Моя компания все еще использует Snow Leopard, и мы думаем о скором обновлении до Mountain Lion. Мы разрабатываем приложения для iOS и MacOsX, и у нас есть небольшой перерыв между старыми проектами и новыми проектами. Это означает, что мы можем начать заново с новыми приложениями в новой версии. Но что происходит со старыми версиями? У них нет ARC, раскадровок и т. д. Я знаю, что вы можете отключить ARC, но мы хотим убедиться, что мы по-прежнему сможем вносить обновления в наши старые проекты, и мы не можем позволить себе тратить много времени и усилий в процессе преобразования.

Я потратил некоторое время на чтение комментариев пользователей под обновлением xCode в AppStore и прочитал, что новая версия удалила старые проекты. Конечно, у нас есть резервная копия, но это заставляет меня сомневаться, правильный ли это шаг.

Есть ли у кого-нибудь опыт, как это работает в неличной среде? Дома я запускаю Mountain Lion, и xCode сам конвертирует небольшие проекты. Я просто не уверен в крупномасштабных проектах...

Детали и особенности ваших приложений и рабочих процессов не могут быть легко переданы, воссозданы или протестированы на чьей-либо машине, кроме вашей. Я рекомендую вам приобрести некритическую (с резервной копией) машину, попытаться обновить ее и какое-то время нормально использовать в своем магазине и посмотреть, не появится ли что-нибудь.
Это то, что мы рассматривали... У вас есть какие-нибудь советы? О чем следует помнить при миграции?
Вы можете потерять возможность компилировать приложения ARMv6? Я не особенно хорошо подготовлен, чтобы на самом деле ответить на этот вопрос, поэтому вы можете игнорировать мое совершенно необоснованное мнение, но я искренне считаю, что лучший способ решить эту проблему — просто погрузиться в нее. Вы никогда не подготовитесь полностью, читая предложения. для вещей, на которые нужно обратить внимание, и вы ничего не потеряете, просто попробовав это на одной или двух машинах. Когда вы это сделаете, вы сможете вернуться и добавить довольно полезный ответ на этот вопрос.

Ответы (1)

Советы, что следует учитывать при обновлении:


Прежде чем ты начнешь

  • Не торопитесь для хорошей резервной копии! - Вы можете считать данные, находящиеся только на одном жестком диске, несуществующими.

  • Сначала начните с одной системы и попробуйте все, прежде чем делать серьезное обновление.


Монтаж

  • Учтите, что это занимает гораздо больше времени, чем дома! Загрузка MountainLion заняла более 5 часов из-за симметричного подключения к Интернету. Время установки составило ~1 час (MacMini 2009 - 4Gigs Ram 1067). + xCode Время загрузки ~1 час

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

  • Когда процедура установки попросит вас удалить ваш старый xCode, сделайте это (я этого не делал, и теперь мне нужно вручную назначать каждый проект новому xCode. Я также должен удалить старую версию вручную, и это немного сложнее если вам нужно провести исследование, какие файлы вам разрешено удалять, а какие нет)

  • Затем вам нужно загрузить различные библиотеки xCode. Идет как минимум 1 дополнительный час .

Загрузка библиотек

  • Время процесса загрузки и установки на данный момент: ~8 часов. (Имейте в виду, что у нас медленное интернет-соединение)

Проекты

  • Скопируйте свои проекты и не запускайте конвертацию и тесты на оригинале.
  • Когда вы откроете проект, вы, вероятно, получите много предупреждений. Не паникуйте!
  • При нажатии на предупреждение «Подтвердить настройки проекта» xCode предложит преобразовать ваш проект для вас. Я сделал это для 3 приложений iOS (цель сборки: 4.3), и это работало каждый раз. Позвольте ему создать снимок для вас. На всякий случай.
  • Если ваше приложение уже было подписано кодом, вы, вероятно, получите предупреждение «Target Integrity» . В каждом отдельном случае мне помогло отредактировать путь для «entitlement.plist». (Просто щелкните предупреждение и измените путь в разделе «Права подписи кода»)Права подписи кода
  • Может случиться так, что вам придется изменить цель развертывания. Для этого перейдите в навигатор проектов ( cmd + 1 ), щелкните имя вашего проекта , а затем — «Сводка» . Там вы можете отредактировать цель развертывания.
  • Если вы получаете предупреждения об устаревших методах, вам следует искать stackoverflow.com для вашего конкретного случая. Если это связано с NSURLConnection, посмотрите здесь .

Продолжение следует...