Сегодня Apple выпустила пятое предварительное обновление своего предстоящего Xcode 4 для разработчиков. Эта пятая предварительная версия включает ряд новых функций, улучшений и исправлений, но ничего существенного для выделения. Вот краткий список наиболее заметных функций и улучшений:
Эта предварительная версия представляет новые функции и улучшения для вкладок, панелей редактора и оповещений. Эти функции предназначены для масштабирования интерфейса Xcode 4 с одним окном, чтобы более эффективно использовать доступное экранное пространство, от 11-дюймового MacBook Air до Mac с несколькими мониторами. Пожалуйста, поэкспериментируйте с этими новыми функциями, чтобы увидеть, как Xcode 4 может ускорить ваши ежедневные задачи разработки.
Полный набор примечаний к выпуску вы можете просмотреть после перерыва:
Редакторы: Встроенные режимы редактора — Standard, Assistant и Version — предназначены для представления наиболее важной информации в контексте во время работы. Новое в этом выпуске: щелчок по значку в крайней правой части Jump Bar разделяет текущую панель редактора. Разделенные редакторы имеют собственную историю, и каждый разделенный редактор Assistant может отображать соответствующие панели во время работы в основном редакторе. Панель General в настройках теперь настраивает поведение открытия документов, такое как создание разделения при нажатии Option или открытие нового окна для выбранного документа при двойном щелчке.
Вкладки: Подобно Safari, каждая вкладка Xcode 4 представляет собой независимое представление всей рабочей области. Выбор File -> New Tab (или нажатие CMD-T) создаст новый вид вкладки вашего текущего проекта или рабочей среды со своими размерами окон, геометрией навигатора/утилиты и раскладкой редактора. Вкладки и их пользовательская раскладка сохраняются между запусками Xcode 4. Имя вкладки по умолчанию соответствует файлу в активном редакторе, или дважды щелкните по метке вкладки, чтобы дать ей постоянное имя. Для компьютеров с большим пространством экрана вы можете отсоединить вкладку и переместить ее куда угодно. Настройте вкладку для задач проектирования Interface Builder, отладки и редактирования кода.
Оповещения: Некоторые задачи являются обычными во время разработки, в том числе сборка, тестирование и запуск. Панель настроек Alerts настраивает определенные действия или изменения состояния в IDE при выполнении этих задач. Например, команда Run может автоматически переключиться на вкладку Debug (или IDE создаст эту вкладку для вас). Как описано выше, каждую вкладку можно настраивать независимо, создавая индивидуальный опыт отладки при каждом запуске приложения.
Поэкспериментируйте с Alerts, вкладками и новыми видами редакторов для автоматизации вашего ежедневного рабочего процесса. Дополнительные улучшения в этом выпуске:
• Вкладки (в меню File) можно переупорядочивать, переименовывать или отсоединять в виде новых окон • Область Navigation в панели General определяет действия при нажатии Option и двойном щелчке
– например, можно установить действие двойного щелчка для открытия файла в новом окне редактора • Панели редактора, включая редактор Assistant, теперь можно разделять для создания дополнительных редакторов • Улучшения схем, включая схемы Test, Profile и Run по умолчанию • Улучшенная история (кнопка «Назад») в панелях редактора и навигация в Jump Bar • Дополнительные операции рефакторинга, включая создание суперкласса и извлечение • Дополнительная поддержка SCM, включая операцию слияния с предварительным просмотром перед завершением • Автосохранение перед критическими операциями, избегая частого диалогового окна запроса • Упрощенные комбинации клавиш и раскладка меню для многих распространенных операций • Новые шаблоны проектов теперь предлагают по умолчанию создавать модульные тесты • Новые шаблоны проектов теперь предлагают помещать созданный проект под контроль Git SCM
_____
Новые функции
Общие
Действие сборки в диалоге схемы позволяет выбрать, какие цели следует собирать для каждого действия схемы. 8025069
Каждое действие схемы указывает конфигурацию сборки, используемую, когда Xcode выполняет это действие как часть сборки. Настройка схемы с действиями схемы, использующими определенные конфигурации сборки, позволяет вам, например, настроить схему, которая запускает продукт с конфигурацией Debug, но профилирует его с конфигурацией Release. 8090845
Команда Build and Archive архивирует продукты целей, выбранных в активной схеме, для архивирования, включая их файлы dSYM. Вы отправляете свои продукты в iTunes Connect, используя эти архивы. Вы также можете использовать их для символизации журналов сбоев. 7965261
Скрипты post-action для действий архивирования имеют доступ к информации о только что собранном архиве в их среде:
ARCHIVE_PATH: Путь к архиву. ARCHIVE_PRODUCTS_PATH: Место установки для архивированного продукта. ARCHIVE_DSYMS_PATH: Путь к файлам dSYM продукта. 8423449 Xcode обнаруживает и применяет неявные зависимости сборки между целями при сборке схемы.
Вы можете отключить это для каждой схемы в действии сборки схемы. 7879553
Когда активная схема является схемой модульного тестирования, нажатие Run на панели инструментов выдает диалоговое окно с неизвестной ошибкой.
Чтобы запустить модульные тесты, выберите Product > Test. 8642393
Fix-it не поддерживается в проектах приложений iOS, созданных с помощью диалога новых проектов. Шаблоны проектов iOS имеют компилятор, установленный на LLVM-GCC, который не поддерживает Fix-it.
После создания проекта iOS установите компилятор на LLVM 2.0. 8607314
Редактирование моделей Core Data Вы можете создавать подклассы NSManagedObject из сущностей в модели данных Core Data. 7484772
Рефакторинг Поддерживается трансформация Extract. 7711619
Компиляция: LLVM 2.0
Блоки: Операторы goto в блоках разрешены, когда цель находится внутри блока. 7549164
Objective-C: Исправлены ошибки в обработке исключений, присутствовавшие в LLVM 1.5. 8160285
Вы можете объявлять переменные экземпляра в реализациях классов и расширениях (iOS и 64-битный Mac OS X). 7538989
Анализ производительности OpenGL ES Анализатор производительности OpenGL ES определяет узкие места графики в ваших приложениях iOS. Он
расположен в
Инструмент OpenGL ES Analyzer обеспечивает навигацию по отдельным кадрам, что позволяет сосредоточить все инструменты на конкретном кадре OpenGL и пошагово перемещаться вперед и назад по трассировке. 8552970
Улучшения
Общие
Вы можете получить доступ к значениям настроек сборки цели, которая собирается, через переменные среды и аргументы запуска. При создании пользовательских исполняемых файлов (изменяя значение настройки Executable в действиях схемы Run и Profile) вы можете указать цель, для которой
будут развернуты переменные среды и аргументы запуска. 7546808
Редактирование файлов Nib
Xcode предлагает завершение путей ключей в инспекторе привязок по мере ввода. Чтобы воспользоваться этой функцией, укажите класс объекта, управляемого вашим контроллером, в инспекторе атрибутов.
Xcode использует индекс символов проекта для генерации завершения путей ключей. 8176168
Редактирование исходного кода
Существует дополнительный жест для перехода к определению символа в исходном редакторе: удержание клавиши Command. При удержании Command Xcode представляет символ под указателем как гиперссылку; вы можете перемещать указатель между символами, пока Xcode не выделит тот, на который вы хотите воздействовать. Затем вы можете щелкнуть символ, чтобы перейти к его определению. Другие модификаторы работают как ожидалось. 8459719
Информация о задачах и оповещения
Средство просмотра активности представляет более подробную информацию о задачах, связанных со схемами, таких как сборка продукта. 7982481
Изменения
Редактирование файлов Nib
Скрытые представления невидимы на холсте Interface Builder (они были частично видны в Interface Builder 3, части Xcode 3).
Чтобы работать с этими представлениями, выберите их в панели навигации или в представлении структуры. 8059339
Сборка: xcodebuild Опция xcodebuild -activetarget больше не поддерживается. 8361726
Решенные проблемы
Общие
В настройках General вы можете указать, чтобы Xcode спрашивал вас, где открыть файл, на который вы щелкаете или дважды щелкаете, удерживая клавишу-модификатор в навигаторе. 8476034
Xcode автоматически создает схемы для всех целей в проекте при открытии проекта на основе Xcode 3.x. Он не пропускает цели, от которых зависят другие цели.
Вы можете удалить или скрыть ненужные схемы в диалоговом окне управления схемами. 8016676
Установка настроек General > Build Location > “Shared subfolder” на абсолютный путь не генерирует сообщение об ошибке при открытии проектов. 8368913
Редактирование файлов Nib
Многие проблемы с производительностью при создании подключений решены. В частности, производительность подключения к First Responder была значительно улучшена. 8280101
Вы можете создать соединение Interface Builder-to-source, даже если целевой исходный код свернут. 8472539
Редактирование файлов модели Core Data
При создании подклассов NSManagedObject из сущностей в модели данных Core Data Xcode запрашивает подтверждение перед перезаписью существующих файлов. 8506607
Редактирование исходного кода
Точки останова и всплывающие окна сообщений отображаются в исходном редакторе, даже когда код свернут над ними. 7192871
Компиляция: LLVM 2.0 C++: Исправлены несколько ошибок, связанных с использованием блоков. 6182276
Анализ производительности OpenGL ES Статистика API в инструменте OpenGL ES Analyzer вычисляется корректно. 8549379
Справка и документация
Список тем справки в книге справки отображается, как ожидается, при доступе к книгам справки в организаторе документации. 8430699
Новые проблемы
Сравнение версий файла
После создания ветки и переключения на нее в организаторе репозиториев, использование диалогового окна фиксации или редактора версий вызывает сообщение об ошибке.
Перезапустите Xcode после создания ветки и переключения на нее. 8383245
Известные проблемы
Общие
Файлы Interface Builder с явными типами файлов Xcode 3 открываются в исходном редакторе, а не в Interface Builder.
Установите тип файла Interface Builder в инспекторе Identity and Type на “Default”, отмените его выбор в навигаторе проекта и выберите его снова. 8028406
Средство просмотра журнала задач пусто, когда вы выбираете последнюю задачу сборки проекта или рабочей среды в навигаторе журналов, а средство просмотра настроено на отображение только последних операций.
Установите средство просмотра журнала задач на отображение всех операций. 8350930
Редактирование файлов Nib
Xcode не может редактировать документы Interface Builder типа Mac OS X, состоящие из объектов из других фреймворков, кроме AppKit.
Однако вы можете компилировать и запускать эти документы. 7470836 Рефакторинг: Xcode не рефакторит привязки Cocoa. 8423815
Поиск
Навигатор поиска: Xcode может аварийно завершить работу в диалоговом окне предварительного просмотра замены навигатора поиска, когда выбраны все найденные экземпляры, и вы нажимаете Replace. 8091532
Рефакторинг
Xcode не создает снимок вашей рабочей среды перед выполнением преобразования рефакторинга.
Создавайте ручные снимки перед выполнением преобразований рефакторинга. 7816256
Редактирование файлов nib: Преобразование Rename может работать некорректно с методами действия в документах Interface Builder, когда целевым объектом действия является первый ответчик, или метод объявлен в категории, протоколе или суперклассе данного класса. 8500272
Управление исходным кодом и снимки Xcode не распознает URL-адреса на основе SCP для репозиториев Git в организаторе репозиториев.
Используйте URL-адреса на основе SSH. Например, вместо git@example.com:/myrepositoryname.git используйте ssh://git@example.com/myrepositoryname.git. 8044145
Сборка Xcode не использует новое местоположение сборки после изменения настроек General > Build Location. Закройте и снова откройте проекты и рабочие среды после изменения местоположения сборки. 7965261
Справка и документация
Эти книги справки не перечислены на странице Xcode Application Help (Help > Xcode Application Help): Interface Builder Help, Task and Session Log Viewer Help, Symbol Navigator Help и Xcode Concepts.
Ищите эти названия в меню Help или в навигаторе поиска в организаторе документации. 8481951,8518802