Live Rendering и локализация

Есть в Xcode отличная возможность сразу в интерфейсе Interface Builder видеть итоговый результат отрисовки отличных от стандартных компонентов. Например, вы можете сделать свою кнопку с обводкой, добавив три свойства:

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

Я же хочу поделиться результатом компиляции нескольких идей относительно локализации объектов, находящихся в xib или storyboard.

Читать далее Live Rendering и локализация

Ускоряем Xcode с помощью RAM disk

В операционной системе macOS есть возможность создать виртуальный диск, логический раздел, который будет находиться целиком в оперативной памяти. Иногда его удобно использовать, если вам требуется временное высокоскоростное хранилище для ваших файлов, с которыми вы работаете в данный момент. Например, в случае с Xcode это может быть место, где должны находиться файлы Derived Data.

Для начала запустите Терминал и из под sudo выполните команду:

Она создаст в оперативной памяти диск HFS+ размером в один гигабайт и примонтирует его. Теперь его можно указать как ‘/Volumes/ramdisk’ в настройках Xcode ➝ Preferences ➝ Locations ➝ Derived Data ➝ выбрать ‘Custom’ ➝ вписать ‘/Volumes/ramdisk’. Всё! Для большей уверенности можете переоткрыть проект или рабочее пространство вашего приложения. Вы заметите заметное ускорение работы с проектом, особенно при сборке и компиляции.

ВНИМАНИЕ: все данные будут удалены после размонтирования виртуального диска!!! Недопустимо хранить на нём важные данные и файлы!

Лично у меня при сборке проекта с обычными настройками (Fusion Drive 120GB SSD + 500GB HDD) на всё уходит 165 секунд, а при использовании RAM disk всего 72 секунды. Прирост скорости в 2,3 раза.

Xcode на iPad? Почему бы и нет!

Нашел в рассылке интересную большую статью про то, как может выглядеть Xcode на iPad. Мне понравилась эта идея. В конце-концов, если Apple заявляет, что её новые iPad Pro это полноценная замена компьютеру, то эти iPad должны иметь инструментарий, чтобы создавать приложения!Игры уже можно делать, есть утилиты от других разработчиков. Так что, ждём с нетерпением.

Xcode. Ошибка доступа к DerivedData ‘No such file or directory’

Если вы столкнулись с подобными предупреждениями при сборке проекта в Xcode:

То решить проблему очень просто. Скорее всего по какой-то причине «испортились» права на папку DerivedData. Чтобы их восстановить, достаточно зайти в Настройки Xcode, выбрать Locations и у пункта Derived Data переключить туда-обратно тип с Default на Custom или Relative. Права восстановятся, предупреждение уйдет.

Ошибка “Missing iOS Distribution signing identity for …”

Если вы столкнулись в проблемой из заголовка при сборке Ad Hoc или релизной сборки проекта в Xcode, а точнее при попытке собрать ipa, провалидировать архив или отправить его в App Store, то есть простое решение. Сама проблема кроется в том, что Apple всё сделала не так и сертификат Apple Worldwide Developer Relations вышел в тираж, у него кончился срок действия. Спасибо, Apple!

Вам необходимо скачать новый сертификат. В приложении Keychain удалить из двух связок ключей Вход (Login) и Система (System) удалить старые сертификаты. После установить новый и ваши собственные сертификаты станут снова валидными.

Xcode 6.4 и Alcatraz

Вчера вышел в релиз новый Xcode версии 6.4
Как обычно возникли проблемы с плагинами. В этот раз просто исчез из меню и потому перестал работать менеджер плагинов Alcatraz.
Решение уже есть на github в issue проекта — https://github.com/supermarin/Alcatraz/issues/307

Чтобы вернуть работоспособность плагинам и самому Alcatraz, завершите Xcode и выполните в консоли команду:

Запустите Xcode, одобрите работу сторонних bundle (собственно, плагинов)  в появившемся диалоге и всё!