Причина использовать Interface Builder #139:
Если вы скопируете любой UI элемент из IB и вставите его в графический редактор – Figma или Photoshop, то он полностью перенесется, в том числе со всеми настройками прозрачности.
Если вы скопируете любой UI элемент из IB и вставите его в графический редактор – Figma или Photoshop, то он полностью перенесется, в том числе со всеми настройками прозрачности.
Twitter
Martin Pilkington
So yesterday I learned something that blew my mind. If you're in Interface Builder and you copy a UI element, you can paste it into an image editor like Photoshop and you get just the UI element with full transparency! 🤯
💩60🤔10😱6👍4🤯4
Сразу после установки Xcode занимает 42 гига. Держите статью с обзором нескольких способов по освобождению этого места. Самым полезным выглядит приложение DevCleaner, которое специализируется ровно на этой задаче. Попробуйте и расскажите, сколько места сэкономили!
Medium
Squeezing Xcode for hard drive space
When your mac’s hard drive is full, as an Xcode developer, what can you do?
👍21
Уже в июне нас ожидает новая волна хайпа по SwiftUI. Apple со сцены будут рассказывать про amazing developer experience и stunning UI, а вдогонку за ними курсы по вкатыванию в профессию начнут закапывать UIKit.
Но не забывайте, что SwiftUI еще довольно далек от того, чтобы полностью заменить UIKit и считаться production ready. Автор статьи приводит несколько причин:
🛁В Xcode при работе со SwiftUI течет память, а Apple сильно тянет с фиксами
🍏Apple не спешат адоптить фреймворк в своих приложениях, кроме самых простых
🗺Нет нормальных решений для навигации и диплинков
🆕Несмотря на поддержку SwiftUI в iOS 14, много жизненно важных изменений докатилось только в iOS 15. Какой процент аудитории сидит на ней?
Но не забывайте, что SwiftUI еще довольно далек от того, чтобы полностью заменить UIKit и считаться production ready. Автор статьи приводит несколько причин:
🛁В Xcode при работе со SwiftUI течет память, а Apple сильно тянет с фиксами
🍏Apple не спешат адоптить фреймворк в своих приложениях, кроме самых простых
🗺Нет нормальных решений для навигации и диплинков
🆕Несмотря на поддержку SwiftUI в iOS 14, много жизненно важных изменений докатилось только в iOS 15. Какой процент аудитории сидит на ней?
Medium
SwiftUI Still Isn’t Production-Ready
Not for the reasons you might think!
💩27👍13😁4🔥2🤔2
GitHub репозиторий с реализацией 25 самых популярных паттернов на Swift
🎬Поведенческие: Strategy, Visitor, Observer, Memento
🐣Порождающие: Builder, Factory, Monostate, Prototype
🌉Структурные: Bridge, Decorator, Flyweight, Facade
🎬Поведенческие: Strategy, Visitor, Observer, Memento
🐣Порождающие: Builder, Factory, Monostate, Prototype
🌉Структурные: Bridge, Decorator, Flyweight, Facade
GitHub
GitHub - ochococo/Design-Patterns-In-Swift: 📖 Design Patterns implemented in Swift 5.0
📖 Design Patterns implemented in Swift 5.0. Contribute to ochococo/Design-Patterns-In-Swift development by creating an account on GitHub.
👍57💩7🤮5🔥3
Бесплатные книги про Swift Strings, Numbers и Codable от авторов NSHipster
Mattt – ведущий NSHipster и бывший сотрудник Apple несколько лет назад начал писать учебники по Swift под брендом FlightSchool. По отзывам книги – топ. А теперь они доступны всем в электронном виде бесплатно!
Mattt – ведущий NSHipster и бывший сотрудник Apple несколько лет назад начал писать учебники по Swift под брендом FlightSchool. По отзывам книги – топ. А теперь они доступны всем в электронном виде бесплатно!
👍84🔥19❤1
Помните, как в Telegram реализована визуализация голосовых сообщений в виде гистограммы? Держите отличную статью от ребят из Surf, которые столкнулись с похожей задачей:
📢Звук на физическом уровне
⚡️Аналогово-цифровые преобразования
🔊Получение и использование буферизованных данных в приложении
🌊Отрисовка звуковой волны
📚Куча дополнительных ссылок по теме
📢Звук на физическом уровне
⚡️Аналогово-цифровые преобразования
🔊Получение и использование буферизованных данных в приложении
🌊Отрисовка звуковой волны
📚Куча дополнительных ссылок по теме
Хабр
Как нативно визуализировать голос в iOS
Представьте, что у вас в приложении есть чат. В один прекрасный день на встрече отдела product manager приносит весть, что пора бы в чат добавить поддержку голосовых сообщений. «Да легко!» —...
👍39💩12🔥5
Proxyman – прокси-клиент, который использует около 25% всех iOS разработчиков, и который вовсю наступает на пятки Charles. Он нативный, быстрый и более логично организованный, чем главный конкурент.
Если вы решили с ним разобраться, вот хорошая статья с разбором его конфигурации и использования базовой функциональности.
Если вы решили с ним разобраться, вот хорошая статья с разбором его конфигурации и использования базовой функциональности.
Donny Wals
Debugging Network Traffic With Proxyman – Donny Wals
Networking is an essential part of modern iOS applications. Most apps I’ve worked have some kind of networking component. Sometimes the networking layer involves user authentication…
👍42❤3💩2
В понедельник пройдет новый воркшоп от Николая Балакланова, на котором будет разбираться, как использовать Kotlin Multiplatform для шаринга кода (а его использует аж 8% подписчиков канала по недавнему опросу).
🛠Интеграция в существующий iOS проект
🤝Вынос common логики в общий фреймворк
📲Реализация платформенно-специфичной логики в нативном коде
Регистрируйтесь и залетайте: 23 мая в 20:00
🛠Интеграция в существующий iOS проект
🤝Вынос common логики в общий фреймворк
📲Реализация платформенно-специфичной логики в нативном коде
Регистрируйтесь и залетайте: 23 мая в 20:00
💩24👍5🤮2😁1
История поиска сложного бага при разработке драйвера для Apple GPU. В комплекте идет объяснение принципов работы рендеринга и разных его оптимизаций.
🔥14💩2
SwiftUI, так же, как и UIKit, работает поверх render loop’а. В большинстве случаев нам об этом практически ничего не надо знать – все надежно спрятано под капотом. Но иногда понимать его устройство полезно. Держите отличный разбор того, как SwiftUI работает с render loop:
🤔Примеры случаев, в которых вам пригодится это знание
🛠Какие компоненты железа используются при рендеринге
🔄Устройство run loop в iOS
🎨CoreAnimation и render server
👆Обработка тачей
🤔Примеры случаев, в которых вам пригодится это знание
🛠Какие компоненты железа используются при рендеринге
🔄Устройство run loop в iOS
🎨CoreAnimation и render server
👆Обработка тачей
🔥35💩9👍3👏1
Mobile Party в Ozon Tech для iOS разработчиков
Ozon Tech ищет мобильных Middle- и Senior-разработчиков. Поэтому ребята 4 июня устраивают Mobile Need For Tech — событие, совмещающее финальные собеседования и офлайн-вечеринку, где вы сможете неформально пообщаться с разработчиками Ozon Tech.
Вас ждёт насыщенная программа: экскурсия по офису, NFT-выставка и фуршет с приглашённым диджеем.
Чтобы туда попасть, нужно пройти несколько этапов:
1. Подать заявку: https://bit.ly/39rVaZP
2. Успешно пройти предварительное интервью
3. Прийти на финальное собеседование 4 июня
Если живёте не в Москве, Ozon Tech оплатит потенциальным кандидатам поездку на мероприятие.
Иду на Mobile Party
Ozon Tech ищет мобильных Middle- и Senior-разработчиков. Поэтому ребята 4 июня устраивают Mobile Need For Tech — событие, совмещающее финальные собеседования и офлайн-вечеринку, где вы сможете неформально пообщаться с разработчиками Ozon Tech.
Вас ждёт насыщенная программа: экскурсия по офису, NFT-выставка и фуршет с приглашённым диджеем.
Чтобы туда попасть, нужно пройти несколько этапов:
1. Подать заявку: https://bit.ly/39rVaZP
2. Успешно пройти предварительное интервью
3. Прийти на финальное собеседование 4 июня
Если живёте не в Москве, Ozon Tech оплатит потенциальным кандидатам поездку на мероприятие.
Иду на Mobile Party
💩37👍21👎1👏1🎉1
Переход к async/await в Swift влечет за собой и пересмотр того, как мы подходим к обработке ошибок. Вместо передачи Result в коллбэке мы можем использовать throw-catch.
В статье разбирается несколько подходов к тому, как работать с ошибками в новой парадигме.
В статье разбирается несколько подходов к тому, как работать с ошибками в новой парадигме.
Swift with Majid
Modeling errors in Swift
The new Swift Concurrency feature doesn’t only bring new opportunities for writing safer and more maintainable async code but also changes the way we handle errors. I didn’t use throw-catch keywords too much in my legacy code because usually, I had a completion…
💩17👍11
SwiftUI меняется очень быстро. Для реализации одной и той же логики в SwiftUI версий 1, 2 и 3 часто нужно писать разный код. В статье рассматривается классный подход, который позволит не забыть удалить устаревшие места в вашей кодовой базе, когда вы решите бросить поддержку старых версий SwiftUI или любых других фреймворков.
Комбинируйте
Комбинируйте
#if
с условиями, объявленными в Build Settings, например: #if TARGETING_SWIFTUI_2 || TARGETING_SWIFTUI_1
, и компилятор напомнит вам удалить ставшие ненужными воркэраунды при обновлении версии фреймворка.Dave DeLong
Conditional Compilation, Part 4: Deployment Targets
Recently I was thinking about the idea I’d posted on simplifying backwards compatibility in Swift, and was also thinking about some of the principles of kindness that I wrote about in my article on API design.
💩28🔥16👍2
23-29 мая пройдет серия бесплатных конкурсов по SwiftUI.
📆Понедельник – на скорость реализуете дизайн по предоставленному скриншоту
📆Вторник – делитесь известными вам хаками и воркэраундами в SwiftUI
📆Среда – реализуете микроанимации
📆Четверг – делаете простое приложение для macOS
📆Пятница – добавляете в семпловое приложение так много accessibility фичей, как только сможете
Отличная возможность потренироваться в SwiftUI!
📆Понедельник – на скорость реализуете дизайн по предоставленному скриншоту
📆Вторник – делитесь известными вам хаками и воркэраундами в SwiftUI
📆Среда – реализуете микроанимации
📆Четверг – делаете простое приложение для macOS
📆Пятница – добавляете в семпловое приложение так много accessibility фичей, как только сможете
Отличная возможность потренироваться в SwiftUI!
🔥29💩23👍7
Apple представила новые Accessibility фичи, не дожидаясь WWDC:
🚪Door Detection, с помощью камеры и лидара определяющая местонахождение двери и способ ее открытия
⌚️Apple Watch Mirroring на айфон с возможностью управления часами с помощью Voice Control и других фичей
💬Live Captions – автоматические субтитры для любого аудиоконтента, включая звонки, на iOS/macOS
🚪Door Detection, с помощью камеры и лидара определяющая местонахождение двери и способ ее открытия
⌚️Apple Watch Mirroring на айфон с возможностью управления часами с помощью Voice Control и других фичей
💬Live Captions – автоматические субтитры для любого аудиоконтента, включая звонки, на iOS/macOS
Apple Newsroom
Apple previews innovative accessibility features
Apple today previewed innovative software features that introduce new ways for users with disabilities to get the most out of Apple products.
👍54🔥6💩6❤1👏1
В последнее время процесс ревью в App Store стал занимать намного меньше времени, чем годы назад. Расскажите, сколько в среднем за последние месяцы у вас занимало ревью без учета дополнительных этапов и реджектов!
Anonymous Poll
2%
До 30 минут
4%
От 30 минут до 2 часов
13%
От 2 до 12 часов
12%
От 12 часов до дня
14%
1-2 дня
3%
2-4 дня
2%
5-7 дней
2%
Больше недели
48%
Посмотреть результаты
💩11👍9
Разбор отличий в том, как организована работа со подсчетом ссылок в Swift 3 и Swift 4. А если захотите более глубокого погружения в тему, то вам – в классику от Mike Ash.
Medium
A deep dive into Swift reference counting
Disclaimer: This is not a beginner level article on reference counting. This article assumes that you have some basic idea on ARC in Swift.
🔥20👍7💩4
В работе со Swift Packages в Xcode есть масса неудобств и ограничений, которые пока не поправили. Если вы страдаете от них, попробуйте перейти на VSCode со Swift плагином – кажется, там все реализовано существенно лучше.
Tim Condon
Editing Swift Packages in Visual Studio Code | Tim Condon
Learn how to edit Swift packages in VSCode with the Swift for VSCode extension
💩51👍14😁5
Если вы загружаете Xcode не из App Store, а напрямую с сайта Apple, то вы получаете его в виде *.xip архива. Распаковка его стандартными средствами работает медленно, и, если вы часто скачиваете предрелизные версии, это может начать раздражать. Попробуйте утилиту unxip, которая написана специально для работы с этим форматом и быстрой распаковки Xcode.
GitHub
GitHub - saagarjha/unxip: A fast Xcode unarchiver
A fast Xcode unarchiver. Contribute to saagarjha/unxip development by creating an account on GitHub.
👍49💩6🔥3