iOS Broadcast
3.32K subscribers
1.71K photos
85 videos
980 links
Подборка новостей и статей для iOS разработчиков.

Новости Kotlin и мультиплатформы @kotlin_broadcast
Новости Android @android_broadcast
Реклама и прочее @ab_manager
Download Telegram
#xcode

Xcode 13.3 Beta Release Notes (8 мин)

🗣 Вышла многообещающая версия Xcode 13.3 beta

📍 Теперь Swift Packages могут указывать плагины, которые будут запускать инструменты во время сборки (например, кодогенерацию)
📍 В противовес @available теперь появился @unavailable 😂
📍 Поправили очень нашумевшую уязвимость нулевого дня Log4Shell (Log4j)
📍 Немного улучшили Code Completion, Jump To Definition и подсветку синтаксиса
👍6🔥2
#xcode

20 лет Xcode год за годом (15 мин)

🗣 Познавательная история о том, как зарождался Xcode, от Project Builder до основного IDE для разработки под устройства Apple

📍 Приобретение Apple компании NeXTSTEP. Всем известная приставка NS в Cocoa появилась не просто так 😅
📍 Бесплатная раздача IDE и поставка дисков с инструментами разработчика
📍 Ребрендинг, новый компилятор и многое другое

Напишите, как много фактов узнали из статьи?
👍7👎3
#xcode #tools

Лайфхаки по многомодульности в iOS (15 мин)

🗣 В статье представлен набор отлаженных решений для организации многомодульного iOS приложения

📍 Поддержка структуры проекта с помощью Tuist
📍 Решение проблемы медленной компиляции
📍 Настройка окружения
📍 Кодогенерация и шаблоны Xcode
👍3👎3🔥1
#appstore #xcode

App Store submission requirement starts April 25 (2 мин)

🗣 Небольшое обновление. После 25 апреля сборки, выкладываемые в AppStore, должны будут собираться на Xcode 13

Уверен, у разработчиков поддерживающих реально масштабные приложения есть регулярные задачи мигрировать весь проект на версию выше. Некоторые с этим затягивают и сидят на Xcode 12. Как думаете, многих коснется такое изменение?
🔥6👎3
🛠️ Что нового в Xcode 14? Некоторые моменты:

👉 Улучшения в редакторе кода. Например, много новых автокомплитов
👉 Автоматическое добавление import'ов заменено на ошибку Xcode с кнопкой Fix It
👉 Xcode может автоматически создать вариации на иконки приложения по размерам
👉 Интерактивные SwiftUI превью
👉 Фокус на скорости: линковка до 2 раз быстрее, сборка на 25%, тесты на 30%. Build Timeline для отображения распределения времени на сборку
👉 Более быстрое скачивание за счет отсутствия SDK для tvOS и watchOS

#Xcode #Updates
7👍4👎3
Apple открыла подписку для разработчиков на сервис Xcode Cloud

C 30 августа 2022 года разработчики могут оформлять платные подписки на сервис Xcode Cloud. Цены начинаются с 50 долларов в месяц и доходят до 400. До декабря 2023 года действует бесплатный пробный план на 25 часов.

#xcode
👍4👎4
The Best and Fastest Ways to Install Xcode on your Mac

Известные способы установить Xcode:
👉 App Store — просто, но долго
👉 Apple’s Website — быстрее (рекомендовано автором)
👉 Через командную строку — еще быстрее, но сложнее
👉 Через Xcodes — лучшее решение?

А вы сталкивались с проблемами при установке Xcode?

#xcode
👍2
How to Show/hide whitespace characters in Xcode

Если вы работаете с CSV, YAML или ваш Linter ругается на пробелы, на скрине небольшой лайфхак, как их отобразить в Xcode

#xcode
🔥6👎1
Save Time With User Breakpoints in Xcode

Облегчаем дебаггинг с помощью User Breakpoints:

🔥 Дефолтные значения в рантайме
Добавляем breakpoint, жмем правой кнопкой мыши, ставим галочку "Automatically continue after evaluating actions", чтобы исполнение не останавливалось. Затем нажимаем "Add action" и добавляем желаемое действие. Примеры на 1, 2, 3 скринах

🔥 Добавить принты в рантайме
Все аналогично пункту 1, для принта используем po, как на последнем скрине

#xcode
👍8🔥1
Build to latest iOS device without upgrading to latest Xcode (1 мин)

Как собирать проект на последней версии iOS без обновления Xcode?
👉 Скачайте файл для поддержки последней версии iOS здесь
👉 Затем поместить его в папку
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport/
👉 Перезапустите Xcode
👉 Включите Developer Mode (Settings > Privacy & Security > Developer Mode)

#xcode
🔥4
Продвинутый дебаг в Xcode: средства отладки, про которые часто забывают

👉 Swift Exception breakpoint — останавливает программу при срабатывании не перехваченного throw для Swift кода
👉 Symbolic breakpoint — срабатывает при исполнении кода, ассоциированного с некоторым идентификатором, который Apple называет символом
👉 OpenGL ES Error breakpoint — срабатывает при возникновении ошибки OpenGL при разработке соответствующих приложений
👉 Constraint Error breakpoint — срабатывает при возникновении ошибки автолейаута
👉 Test Failure breakpoint - может помочь при отладке тестов

#xcode
🔥3👎1
Как локализовать приложение

Большой гайд по локализации. Как перевести текст, фото, дату и валюты. Обзор инструментов и автоматизаций

#Xcode #tools
👍3👎1
Как Xcode 14 непреднамеренно увеличивает размер приложения

Среди других функций Xcode 14 по умолчанию отключил биткод - альтернативный способ упаковки приложения, при котором часть процесса сборки остается на стороне Apple после его отправки в App Store.
Простое объяснение заключается в том, что битовый код оптимизирует производственные сборки, частично за счет удаления двоичных символов. Без включения битового кода настройки сборки Xcode необходимо изменить, чтобы удалять двоичные символы.

Как удалить двоичные символы без биткода:
👉 Используя настройки сборки Xcode
👉 Используя скрипт

#xcode
👍6
Улучшения Функции Автодополнения в Xcode 14

Теперь разработчики могут воспользоваться улучшенными инициализаторами структур и автовыравниванием, которые сводят к минимуму ручную работу. Другие обновленные функции, такие как параметры со значениями по умолчанию или предложения frame, максимально повышают производительность IDE. В Xcode 14 автодополнения, включая соответствие codable (генерация coding keys) и предложения map, срабатывают быстрее и теперь более предсказуемы, тем самым повышают надежность инструмента.

#xcode
👍9
Первый взгляд на Xcode 15:

- Появилась возможность смотреть Preview документации
- #Preview заменил протокол PreviewProvider, стал стабильнее и поддерживает UIKit из коробки
- Появились закладки, к которым можно добавлять свое описание и которые можно группировать
- Source Control стал удобнее, stage изменений, inline редактирование кода
- Тест репорты содержат гораздо больше информации, появилась вкладка метрик производительности, главное со всего прогона
- Если UI тест упал, будет доступна запись всех шагов до фейла, включая возможность посмотреть иерархию View в любой момент теста
- Прокачали консоль Xcode через интеграцию OSLog. Можно фильтровать info, warning, error сообщения. Сделали возможность перейти к коду, который вывел конкретную строку.

#Xcode
🤩8👍5👎1
Вышел Xcode 15 beta 8
👉 Исправили работу SwiftData на visionOS SDK
👉 Все еще не стабильно работает с iOS 17+ с активным VPN
👉 Swift macro из iOS SDK не доступны в Playground

Все еще много известных проблем, но чувствуется приближение Release Candidate, новой функциональности не добавляется, проблем все меньше. План по количеству бет перевыполнили, в 14 Xcode было 6

#Xcode #beta
👍2👎1
🏝 Появилась возможность дебажить SPM сборки KMP библиотек

Touchlab обновила SKIE и KMMBridge для поддержки дебага SPM билдов, используя Xcode Kotlin плагин, без необходимости компиляции или конфигурации KMP зависимостей 🤯

Нужно использовать KMMBridge 1.2.0. Работает всё на основе публикация исходного Kotlin кода в SPM

#kotlin #kmp #xcode #spm #touchlab #skie
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🤔1
🔨 Начните экономить время уже сегодня!
Супер простая фишка, которой не все пользуются. В Xcode можно не ждать компиляцию чтобы запустить приложение или прогнать заново тесты. ⌃ — Control; ⌘ — Command
🟢⌃⌘R Запускает приложение без компиляции
🟢⌃⌘R Запускает тесты без компиляции
#Xcode #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10
🔨 Отладка диплинков, пушей и быстрых действий
Отладка фич, таких как диплинки или быстрые действия с главного экрана, может быть сложной задачей. По умолчанию отладчик автоматически подключается при запуске приложения в Xcode. После завершения работы приложения отладчик отключается, что затрудняет тестирование. Но можно изменить поведение в Xcode - выбрать опцию "Wait for executable to be launched". Эта опция позволяет подключать отладчик к приложению даже при ручном запуске.

Шаги:
🟢Product > Scheme > Edit Scheme
🟢Включите опцию "Wait for executable to be launched" на вкладке "Info" секции "Launch"
🟢Запустите приложение в Xcode как обычно (приложение само не запустится)
🟢Вручную запустите приложение с симулятора или устройства следуя тестовому сценарию

Добавляйте в 🔖 чтобы не потерять
#xcode #deeplink #debugging #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14