В момент выпуска новой прошивки iOS 4.3 среда разработки Xcode 4 вышла из статуса GM Seed и получила статус релиза. Получено сообщение от Apple, процесс загрузки и установки пройден ― начинаем работу.
Новая версия инструментов разработчика «съедает» довольно большой объём на диске — свежая установка, в которую не входит документация, занимает 10,05 ГБ.
Первое нововведение предстаёт перед нами после создания нового проекта: Xcode 4 «из коробки» поддерживает систему контроля версий git и предлагает создать локальный репозиторий для нового проекта. Это позволит разработчику сохранять все изменения даже при отсутствии сервера, на своей локальной машине, и в случае необходимости откатиться на нужную версию. Поддержки CVS и Perforce больше нет, поддерживаются только хранилища Subversion и git.
Интерфейс среды был полностью переработан, стало меньше дополнительных окон. Состояния изменённых файлов относительно репозитория отображаются прямо в дереве проекта, что позволяет избавиться от необходимости переключаться в окно SCM, как это было сделано в Xcode 3.
Параметры проекта настраиваются с помощью визуального редактора. Здесь можно выбрать иконки приложения для различных устройств и экранов, указать изображения для запуска, изменить параметры компиляции и сборки проекта и добавить в проект необходимые библиотеки.
Редактор тоже претерпел значительные изменения. Большинство ошибок синтаксиса и обращений к несуществующим объектам подсвечивается на ходу, без компиляции.
Подверглось небольшому видоизменению окно автодополнения. Тип параметра отображается слева от его имени. Напомню, что в Xcode 3 тип отображался внизу, и только после выбора соответствующего элемента из списка.
Справочная информация и настройки репозиториев SCM перенесены в органайзер.
Окно отладчика интегрировано в основной интерфейс и открывается автоматически при получении первого сообщения от отлаживаемого приложения. Его можно открыть принудительно сочетанием клавиш Cmd+Shift+Y. При перезапуске отлаживаемого приложения вывод отладчика автоматически очищается.
Список ошибок компиляции, список выполнявшихся потоков, отображаемый при аварийной остановке приложения, результаты поиска и иерархия классов — все эти компоненты теперь также интегрированы в основное окно и отображаются в левой части интерфейса.
Пожалуй, это всё хорошее, что можно сказать о новом Xcode 4. Теперь о неприятном, раздражающем и просто плохом.
Забудьте о простом переключении между режимами сборки Debug/Release/Distribution. Теперь всё это носит гордое название схем и настраивается в соответствующем окне. Вот так выглядит этот пугающий инструмент (на снимке отображена всего одна схема, для проекта их можно создать несколько).
Скомпилированные и собранные файлы проектов теперь не сохраняются в директории проекта, а закопаны глубоко в домашнем каталоге. Например, чтобы достать собранный пакет демонстрационного приложения, мне нужно лезть по следующему пути (обратите внимание на строчку DerivedData — это и есть место хранения временных файлов проекта и собранных пакетов):
Очень сильно раздражает то, что изменились практически все комбинации клавиш. После обновления придётся привыкать к совершенно новой среде разработки, а не к обновлённой старой.
Созданные в предыдущих версиях проекты могут ввести Xcode 4 в ступор. При попытке редактирования параметров старого проекта в новой среде я несколько раз получал сообщение о том, что Xcode «выполнил недопустимую операцию, но не будет закрыт». После этого предлагалось целенаправленно «обрушить» его для генерации отчёта или же продолжить работу. При этом тот элемент окна, в котором произошла ошибка, пропадал до перезапуска. В моём случае это было окно редактирования файла Info.plist, присутствующего в каждом проекте.
И последний (и самый большой) камень в огород Apple: вся эта красивость и «удобность» безбожно тормозит. Если на моём старом MacBook 2006 года выпуска сборка проекта из 30 файлов занимает около 8-10, от силы 15 секунд, то в новом Xcode «чистая» сборка может длиться до минуты. Обладателям старой техники, желающим перейти на Xcode 4, придётся обновить свой парк устройств.
Похоже, что в погоне за красотой, интеграцией и компактностью Apple выпустила красивое яблоко, на деле оказавшееся червивым. Будем надеяться, что в ближайших версиях ситуация улучшится, и мы сможем получать то удовольствие от разработки, какое получали от старого доброго Xcode 3.
73 комментариев
Форум →жудко тормазнутая штука. возвращаюсь в 3ю версию
@skyderzz, невозможно писать код. дуплит после каждого нажатого символа (с автокомплитом видемо прогнали где то. ведь в 3м он нормально работает)
@skyderzz, Ноут/компьютер старый или новый? Как я писал в обзоре, у меня старый ноут, и тем не менее Xcode 3 работает как часы.
@Никита Дёнин, core 2 duo 2.4 2g mem
@skyderzz, Да, даже на такой железке тормоза непростительны. Поэтому откатился на 3.2.6.
Если поотключать к лешему всякие live issues, quick help и проч. прибамбасы, которые жрут процессор, то работать можно. Правда у меня в resource editor-е постоянно задумывалась очень надолго, но это там явно какая-то ошибка.
Не подскажите случайно, как вернуть диалог при запуске с перечислением задач, последних проектов и пр? А то я ляпнул по “больше не показывать”, он и не показывает. В preferences кнопка сброса этих самых “больше не показывать” не помогает. А в com.Apple.Xcode.plist сам черт ногу сломит :(
@Afx40, Мне не помогло отключение всех возможных плюшек, тормоза оставались. А про экран уже не подскажу ― уже снёс четвёрку.
@Никита Дёнин, зря. Все равно придется на нее переходить рано или поздно. Стив так решил.
@Afx40, Это да. Но было бы неплохо допилить.
Тормозит почти незаметно (MPB C2D 2.5GHz 3Gb RAM), но оперативки кушает как-то несоизмеримо много. И если просто проект занимает от 130Мб, то когда открываешь документацию, которая сейчас в репозитории — возрастает до 500Мб, а если еще и поискать что-нибудь, то 700–900Мб RAM влегкую. Самое странное, — эта проблема была еще с первого preview.
Xcode 3 для сравнения редко, очень редко превышал 500Mb RAM.
а мне понравился Xcode 4, намного удобнее третей версии
@ilya280, Ты видимо прогаешь хеллоу ворлд, а там ничего особенного и не надо.))
Будем читать мануалы и привыкать, непривычно не значит плохо.
Вау!
Никита пиши еще обзоры новых Xcode!
И побольше бы скринов
@Даниал Сиддики, Спасибо, буду стараться. Есть одна проблема: до выхода из статуса GM Seed все продукты Apple находятся под NDA.
@Никита Дёнин, что эта новость делает на iPhones.ru? Здесь же 98% читателей школота, ни одного слова не поняли
@Drunky_, Оставшиеся 2% прочитают.
@Никита Дёнин, И еще 5% школоты установит и попробует че-нить написать
@eshorkin, Разве это плохо?
@Drunky_, Вы совсем что ли того?
Да ребенок если заинтересуется, то он такое напишет!
Тем более некоторые в 14 даже пишут
Если ребенку интересно разрабатывать приложения, то он будет начинать сколько бы ему не было лет
Даже деньги не нужны, хакинтош,xcode с рутрекера
Ну только сертификат на $100
У МЕНЯ ПОЧЕМУТО ВЕСИТ В КОНЦЕ НА УСТАНОВКИ ЧАСОВ 5 ПРОЖДАЛ ТОЛКУ , МБ МОЖНО КАКТО ИСПРАВИТЬ ПОСТОЯННО УСТАНОВКА ВСТАЕТ
@v666ok,
на самом деле все устанавливается!
Найдите файл “Install Xcode”.
Правый клик и выберите “Show Content”.
Идите в Contents > Resources и двойной клик на Xcode and iOS SDK.mpkg.
И еще, может быть кто-нибудь знает, в чем гениальность задумки с переименованием старого в Developer-old? Все SDK приходится копировать в новый Developer вручную, потом еще 10 раз перезапустить Xcode, что бы он их увидел.
@Afx40, Чтобы ничего не потерять. Хотя я обычно делаю так:
/Developer/Library/uninstall-devtools –mode=all
Перезагрузка
Установка нового SDK
Хороший обзор! Спасибо.
@DiMithras, Спасибо за то, что читаете :-)
А отладчик такой же тупой как и в 3-м?
@DemonSoftII, А чем он тупой? Хороший отладчик gdb.
@Никита Дёнин, У Вижуал Студио лучше на порядок.
@DemonSoftII, могу тя обрадовать отладчик в нем хуже чем в 3 версии, при этом он еще и глючит дико. Никогда не знаеш, а действительно ли в переменной это значение или суко тормозит и обновить неуспел, а как тока какуюто структурку глобальную подрубиш то вобще пипец. Как такое говно могли выпустить я недогоняю
@druid3d, +1. Только что налетел на жучину, которая была еще в версии 2.1 – отладчик останавливается не там, при пошаговом исполнении прыгает не по тем строчкам. Видимо кого-то в Apple заела ностальгия по старым багам.
И я наверное совсем идиот, но так и не понял, как там посмотреть содержимое куска памяти. Вообще отладчик в Xcode традиционно крайне неудобный.
В этом плане мне не нравится политика Эппл. Как кодить для айфона, не покупая Мак? Черз жопу.
@finick95, тебе еще рано “кодить”
@Drunky_, как раз самое время. На Objective C потренироваться, пару идей проверить.
@finick95, Никак.
@Никита Дёнин, на рутрекере выкладывали какие-то решения, но все кривые до жути.
Или нужен мощный компьютер, чтобы установить Хакинтош
@finick95, Когда были прошивки 1.1.x, я собирал тулчейн под Linux и создавал проекты с его помощью.
Судя по написаному, XCode начинает быть похожим на Visual Studio. Что ж, в добрый путь. Здесь Apple в числе догоняющих.
Да уж. Теперь под виртуалкой людям не покодить?
В последнем абзаце ошибка: “ситуация улучшиться”. 3-е лицо, а не инфинитив ;)
@DaZzBouRGh, Менял структуру предложения, забыл исправить :-) Спасибо!
Пока писали статью, Xcode 4 успел выйти из статуса GM. С 9го марта это уже полноценный релиз.
Мне понравился прикол со встроенным Git repo. Очень удобно, не надо svn на компе разворачивать. Если бы еще коммит при каждом сохранении происходил, вообще красиво было бы. Кстати с Subversion работает пока криво.
В общем работать полноценно в нем пока не получается. Будем надеяться за год его допилят и можно будет перейти. Хотя есть подозрения что заставят перейти на него гораздо раньше. С выходом Mac OSX Lion и iOS 5.0 SDK перестанут поставлять Xcode версии 3.x и все, никуда мы не денемся с подводной лодки :))))
Солидарен с автором xcode 4 не радует, остаюсь на 3.2.6
А за обзор спасибо, побольше бы такого контента!
@zanzy, Предлагайте темы.
Ещё xCode4 не поддерживает Design – диаграммы классов и прочее, которые весьма полезны при работе с большими проектами.
Поэтому пока что остаюсь на 3-й версии.
Да и git-ом пользоваться больше привык вручную – с несколькими ветками обычно работаю.
ЗЫ Спасибо за обзор!
@Ma Wugui, Я диаграммами классов практически не пользовался, поэтому не особо расстроился их отсутствию в новой версии. А интеграция с git — это хорошо, хотя руками из консоли привычнее, да.
За труд конечноже большое спасибо, но все таки сыровата пока еще xcode 4. Не привычное подключение библиотек и прочие навороты которые от части усложнили работу))
Остаюсь на 3ке пока вместе с Lion не выйдет Xcode 4.1 может чего и изменять в лучшую сторону.
Лучшеб они анлок выпустили!
Сори, не смог удержаться))))))))))
@zverev, про школоту все верно писали. apple сами для себя анлок…АГА ?
можно поставить жесты многозадачности на ipad через xcode 4
@qsimple, што
@beavis
делал так что в меню Ipad на 4.3 появлялась возможность использовать жесты многозадачности
те что были в бета версиях
http://www.youtube.com/watch?v=mIvRzQCnDe0
Ну что-то вы его по полной обосрали. DerivedData отключается, не тормозит, и это на MacBook pro Late2006.
Dxthf вечером купил Xcode, до сих пор не загрузилась прога, процентов пять только всего! На инет не пенять – скорость нормальная, раздают почему то очень медленно.
Отменил загрузку и начал загружать заново – вроде пошло.
Как мне показалось, некоторые вещи пришли из Microsoft Visual Studio…
А кто-нибудь пробовал ставить 3.2.6 в параллель с уже установленной четверкой? Как бы так поставить, стобы обе версии жили дружно?
@Kustiks, Просто поставить их в разные каталоги. Например 3.2.6 в Developer а 4 в Xcode4. У меня так живут.
Если интересно – на рутрекере есть комплект из виртуальной машины 10.6.6 с 3 Xcode. Сама машина работает стабильно (у меня). Сеть, звук, экран – все нормально. Побаловаться и понять надо ли – хватит. Размер правда великоват – 27 гигов в развернутом виде, но самостоятельная сборка будет не сильно меньше и с ней будет больше возни. Но под разработку надо нормальный мак.
Посоветуйте пожалуйста книгу самоучитель для обучению программирования, пожалуйста, хочу попробовать.
@Xiting, начни отсюда.
в третьем хкоде тоже была подсветка изменений файлов проекта в дереве файлов слева
четвертый хкод ужасен своей глючностью, особенно при работе с svn, постоянно вылетает
Обзор + комментарии вместе составляют точный пейзаж отечественной индустрии разработки. Никто не RTFMит пока не припрёт. Уровень знаний стремится к нулю. Ребят, вам зачем XCode вообще? Если вы не способны освоить документированные азы IDE, о программировании можете забыть.
1. Автор не понял что такое схема вообще. Схема может содержать и release и debug и distribution и много чего ещё. Когда нажимаешь жирную кнопку Action то запускаешь ВСЮ схему, выполняешь все её шаги. Нужен один билд? Смотри меню Product. Например, можно сделать билд только для запуска на подключённом девайсе, не пересоздавая других билдов. У каждого из элементов схемы ЛЕГКО настраивается нужный режим сборки debug/release.
2. Тормозит компиляция. Понимаю, что можно быть не в курсе того, что XCode не занимается компиляцией вообще, он просто запускает компилятор из командной строки. И что один из компиляторов остался из старой версии. Но когда время вырастает больше чем в 2 раза, может стоит потратить пару минут на чтение Getting Started и понять что запуск схемы != компиляции одного билда?
3. Билды кладутся не туда. Ога, и в настройках есть такой такая совершенно неочевидного назначения закладка locations (может, чтобы следить за расположением компа?!) с совершенно непонятным переключателем build location.
4. Изменились кнопки. Мля. Это минус, типа. Причём, не важно как изменились, непривычно значит плохо, и всё тут. Ну вот вам ещё минус тогда: добавились жесты с малтитач трэкпадов. Ужос, как теперь жить?!
5. Логи выполнения (и сборки) нефига не очищаются автоматически ()автор хотел сказать что это плюс, но для многих минус). Они сохраняются в истории, а на каждую операцию даётся новый.
6. Не рассказано очень много. ОЧЕНЬ МНОГО. ВАЖНОГО.
RTFM. А до тех пор пишите обзоры чехольчиков.
@Umberhulk, полностью согласен. Статья на обзор ну никак не тянет. Может быть, “XCode 4. Первые впечатления” было бы более верным названием. А полноценный обзор, я боюсь, поместится частей в семь, не меньше.
Лично меня порадовало, что после установки XCode автоматом сконфигурировал все профили, подтянул все сертификаты и теперь приложение можно отправить на рецензию в три клика – Archive-Verify-Upload. Это ли не одно из классных нововведений, о котором нужно упомянуть?
@Umberhulk, О том, что теперь XCode позволяет делать “снимки” приложения без использования репозиториев, может делать их самостоятельно и умеет нормально работать с SVN, тоже ни слова.
@LiS, четвертый хкод не умеет нормально работать с свн, да, графический интерфейс допилили по сравнению с третьим, но стабильность оставляет желать лучшего, переодические вылеты оболочки из-за обновления файла проекта – это не серъезно
@real, да, я уж и забыл про вылеты. Вероятно потому, что в ходе экспериментов несколько раз перенастроил подключения и в результате волшебным образом вылеты прекратились. Оказалось, что всего-то нужно было RTFM и сделать всё чётко по этому самому FM. Но когда я говорил, что Xcode умеет работать с svn, имелось ввиду создание, переключение и слияние веток, создание множественных рабочих копий и просмотр изменений перед коммитом. Немного, но это послужило поводом к отказу от поиска стороннего клиента для работы с svn.
@LiS, то что вы не сталкивались с такой ситуацией ещё не означает что такой проблемы не существует и дело совсем не в rtfm
разлочка для 4 и 3GS на ios 4.3 с помощью Sn0wbreeze 2.3b4 вышла
@iru, дайте ссылку
не указана очень важная вещь, Apple наконец допилила LLVM + Clang (если по простому очень перспективный компилятор, который может заминить GCC) до вменяемого состояния и теперь эта связка предлагается по умолчанию
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Стоит ли сейчас покупать новый MacBook Pro
Как включать Apple TV при помощи iPhone
Проблемы с Lightning-кабелем. Как разобраться, в чем дело?
Стираем пароль разблокировки iPhone
Почему не загружаются приложения из App Store на iPhone
Как настроить смещение времени на Apple Watch
Почему в iOS блок управления плеером переключается на другие приложения
Как сбросить AirPods до заводских настроек