Swift Package Manager, который при смене ветки, всегда перекачивает все пакеты (насколько помню, недавно починили), и если ты в месте с плохим интернетом, то скорее всего уже не сможешь собрать проект, потому что зависимости удалились.
Xcode Playground - место, где можно быстро накидать небольшой код и проверить как он работает. Шанс, что Playground запустить на моем M1 близок к 0. Проще запустить пустой Xcode проект и там проверить код.
Встроенная запись экрана симулятора не отображает нажатия на экран, и проще писать через системное приложение Screenshot.
В симуляторе не потестить пуши (с возможностью запуска приложении на M-чипах, проблема отпала)
В legacy проекте, где еще встречается Obj-С, может отвалится подсветка синтаксиса
Автодополнение от ИИ, имеет больший приоритет, чем обычное автодополнение. Поэтому часто Xcode подсказывает название методов и полей, которые на самом деле не существуют (просто ИИ решил, что они есть)
Xcode и зависимости весит безобразно много (~40Gb):
Xcode - 3.5Gb
CoreSimulator - 4Gb (умноженное на кол-во симуляторов)
DeviceSupport - 30Gb
DerivedData - 10Gb (и пока не кончится место на диске)
Для работы с Xcode и Runtimes рекомендую CLI Xcodes
Через нее можем скачать любой Xcode и потом запустить его через вызов: ~/Downloads/Xcode-14.0.0.app/Contents/MacOS/Xcode
Можно работать сразу с runtimes: xcodes runtimes - Показать список доступных к загрузке Runtimes xcodes runtimes download 'iOS 14.0.1' - Скачать образ runtime версии iOS 14.0.1 sudo xcodes runtimes install 'iOS 14.0.1' - Скачать и установить runtime версии iOS 14.0.1
UPD: Запуск Xcode работает, а вот установить runtime так и не удалось, ругается на несовместимость версий MacOS и runtime
Я привык что обычная громкость на Алисе у меня 5 (из 10). И не сразу понял, почему Алиса начала неожиданно орать отвечая мне, а это оказывается адаптивная громкость. По итогу, отключил.
Метод `init(from decoder) у InitialCoords тоже не нужен;
Зачем var ymkMapView: YMKMapView!, если можно просто var ymkMapView: YMKMapView (без восклицательного знака). И потом в init до вызова super.init присвоить значение ymkMapView
try! плохая практика, что будет, если придет JSON, который не будет соответствовать структуре?
mapView = MapView(): каждый раз при вызове метода view() будет создаваться новый MapView, можно просто объявить let mapView = MapView()
В macOS тоже своя логика присутствует:
CMD+Arrow Down – Открыть файл или (провалиться) в директорию
CMD+Arrow Up – Выйти (подняться) из директории
С Xcode семь бед — один "почистите Derived Data"
Мои боли с Xcode
Swift Package Manager, который при смене ветки, всегда перекачивает все пакеты (насколько помню, недавно починили), и если ты в месте с плохим интернетом, то скорее всего уже не сможешь собрать проект, потому что зависимости удалились.
Xcode Playground - место, где можно быстро накидать небольшой код и проверить как он работает.
Шанс, что Playground запустить на моем M1 близок к 0.
Проще запустить пустой Xcode проект и там проверить код.
Встроенная запись экрана симулятора не отображает нажатия на экран, и проще писать через системное приложение Screenshot.
В симуляторе не потестить пуши (с возможностью запуска приложении на M-чипах, проблема отпала)
В legacy проекте, где еще встречается Obj-С, может отвалится подсветка синтаксиса
Автодополнение от ИИ, имеет больший приоритет, чем обычное автодополнение.
Поэтому часто Xcode подсказывает название методов и полей, которые на самом деле не существуют (просто ИИ решил, что они есть)
Xcode и зависимости весит безобразно много (~40Gb):
Xcode - 3.5Gb
CoreSimulator - 4Gb (умноженное на кол-во симуляторов)
DeviceSupport - 30Gb
DerivedData - 10Gb (и пока не кончится место на диске)
Файл настройки Caddy будет занимать две строчки.
Никакой возьни с сертификатом и настройкой самого Caddy
Выключаем "Показывать рекламу на главной странице" тут и становится чище
На сайте WLED в пример таких чипов приводят SK6812.
Но сама WLED работает с ними только в режиме RGB (WS281x)
А вариант ленты RGB+WW (warm white) не рассматривали?
Для работы с Xcode и Runtimes рекомендую CLI Xcodes
Через нее можем скачать любой Xcode и потом запустить его через вызов:
~/Downloads/Xcode-14.0.0.app/Contents/MacOS/XcodeМожно работать сразу с runtimes:
xcodes runtimes- Показать список доступных к загрузке Runtimesxcodes runtimes download 'iOS 14.0.1'- Скачать образ runtime версии iOS 14.0.1sudo xcodes runtimes install 'iOS 14.0.1'- Скачать и установить runtime версии iOS 14.0.1UPD: Запуск Xcode работает, а вот установить runtime так и не удалось, ругается на несовместимость версий MacOS и runtime
PowerTunnel
WLED отлично управляется Алисой через WQTT.
Я привык что обычная громкость на Алисе у меня 5 (из 10).
И не сразу понял, почему Алиса начала неожиданно орать отвечая мне, а это оказывается адаптивная громкость.
По итогу, отключил.
del (новость до VPN не дочитал)
Fn+Backspace
Расскажите как?
С новыми обновлениями навигатора, Яндекс убрал возможность отключать рекламу в наыигаторе
У себя на проекте использую Flex.
Из интересного, возможность открывать локальные БД (SQLite)
Так много вопросов к коду:
enum CodingKeysу InitialCoords не нужен;Метод `init(from decoder) у InitialCoords тоже не нужен;
Зачем
var ymkMapView: YMKMapView!, если можно простоvar ymkMapView: YMKMapView(без восклицательного знака). И потом вinitдо вызоваsuper.initприсвоить значениеymkMapViewtry!плохая практика, что будет, если придет JSON, который не будет соответствовать структуре?mapView = MapView(): каждый раз при вызове методаview()будет создаваться новыйMapView, можно просто объявитьlet mapView = MapView()Заголовок: Чего ждать от WWDC 2023.
Статья рассказывает про изменения в вышедшем Swift 5.8.
Вопрос, так чего ждать от WWDC 2023?
Продолжу Ваши рассуждения:
Зачем enum
CaseIterable, если это нигде не используется?Зачем пихать события в один метод, если на каждую кнопку можно повесить свое событие?
Так можно избавиться от бесполезного enum'а.
Выглядит так, будто человек прочитал одну (не самую лучшую) книгу по Swift и начал писать не разбираясь в смысле написанного.
Правда, выглядит отвратительно.
1Password туда же