Все новости с меткой: xcode


Бывает так, что ваш айфон уже обновился на более современный iOS 14.5+, но на самой рабочей станции вы продолжаете пользоваться macOS Catalina, а обновляться на Big Sur вам не разрешают или нет такой возможности. Как правило в таком случае необходимо обновиться на XСode 12.5, но он устанавливается только под OS X 13 Big Sur.

Решается немного нетрадиционным способом: вы можете и дальше работать под XCode 12.4, при этом можно скачать необходимые файлы для поддержки девайсов на iPhoneOS 14.5 из нового XCode 12.5 с оф сайта Apple для разработчиков. После распаковки скачанного XCode.app, необходимо зайти внутрь пакета и стянуть директорию 14.5/, расположенную в Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/, и положить по такому же пути в существующий XCode 12.4. При копировании будет запрошен пароль от sudo.

Удивительно, но такое решение работает!

Подробнее




В аду приготовлено отдельное место для того, кто придумал сделать отдельную кнопку в верхнем правом баре в Xcode, которая в режиме редактирования Storyboard отображает popup-окно с различными контролами. И затем оно само прячется при потере фокуса. Дико раздражает и заставляет делать на одно действие больше, да и неудобно это
 

Но решение есть в виде команды:

⇧+⌘+⌥+L

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

Подробнее




В какой-то момент времени мы понимаем, что первый релиз уже на подходе и пора бы добавить локализацию проекта. Делается это легко, настройках проекта добавляется новая локализация, на основе базового storyboard будет сгенерирован файл Main.strings, в котором по ObjectId идет замена заголовков контролов на нужный язык.

Это все очень классно, но проблема таится в следующем - как обновить этот strings-файл новыми строками в добавок к уже существующем, к следующему релизу обязательно появляются новые ViewController-ы. Решения нормального нет: можно либо перегенерить заново этот strings-файл с непереведенными строчками, потом глазом искать новые и добавлять в старый файл. Либо руками выцеплять ObjectId, тыкая на свойства каждого контрола и вручную добавлять для них поля для перевода. Все это неудобно и не понятно, по каким причинам нельзя было встроить это в XCode.

В целом я придумал простое решение в виде скрипта на bash, который генерит заново файл локализации, смотрит в существующий файл и если не находит в нем существующего ObjectID - добавляет новую строчку с локализацией
 


Подробнее