Swift Tips
3.28K subscribers
455 photos
16 videos
2 files
433 links
Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
Макросы в Swift

Первая статья более общая: что такое макросы, зачем они нужны, где и как применяются.

Во второй статье разбирается как устроен под капотом макрос #Preview.

👉 Макросы в Swift
👉 Изнутри: Swift макрос — #Preview
👍8🔥5🤔2💩1
SOLID в Swift. Простое объяснение с примерами для начинающих

Статья для начинающих с простыми примерами применения SOLID в Swift.

Читать (Ru)
🔥142👍2🤡2🥱2💩1
50+ SwiftUI Open Source Projects With Guided Tutorials

Большая подборка open-source проектов на SwiftUI. Графики, анимации, пикеры, вьюверы, виджеты, кастомные компоненты, готовые проекты и прочее.

Читать (En)
11🔥4👍1
Полезные iOS-инструменты для дебаггинга

Большая статья с разбором популярных инструментов для дебаггинга(Code, View, Memory, Network, etc).

• print(...)
• LLDB
• Debug View Hierarchy
• Slow Animations
• Color Blended Layers
• Reveal
• Memory Graph Debugger
• Debug Navigator
• Charles
• Postman
• Network Link Conditioner
• Time Profiler
• Animation Hitches

Читать (Ru)
🔥154👍4💩1
Модульное тестирование в iOS: всё, что надо знать. Часть 2

2-часть из цикла статей «Модульное тестирование в iOS».

В статье рассказывается про «чистые» тесты и виды имитирующих объектов, подменяющие реальные на время теста.

Читать (Ru)
🔥72💩2👍1👏1
.xcstrings в Xcode 15

С приходом Xcode 15, локализация и плюрализация строк были значительно улучшены, теперь там один файл xcstrings – каталог, который хранит в себе все ключи и строки как для переводов на другие языки, так и для переводов для множественного числа.

Для старых версий iOS всё это бэкпортится путём разбиения xcstrings на .strings и .stringsdict, соответстенно по капотом используется старый формат.

В статье как раз и разбирается работа с xcstrings в Xcode 15.

Читать (Ru)
👍10🔥52💩1
Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов

Статья про один из вариантов проведения собеса с помощью бизнес-кейсов. В процессе такого собеса определяется способность разработчика решать проблемы бизнеса, hard и soft скиллы, креативное мышление и способности быстро принимать решения.

👉 Планирование разработки
👉 Начало разработки
👉 Выкладка в магазин приложений
👉 Набираем команду
👉 Кодревью

Может быть полезно как интервьюерам, так и кандидатам.

Читать (Ru)
🔥9💩32👍2🆒1
Разбираю Swift Runtime на детали

Статья с разбором Swift Runtime.

👉 Что такое Runtime?
👉 Где появляется Runtime и зачем?
👉 Как происходит взаимодействие?
👉 Процесс компиляции

Читать (Ru)
👍11🔥6💩32👌1
Логи Xcode — читаем самостоятельно?

Еще одна статья про логи, в которой разбирается как и где Xcode хранит свои логи, что такое SLF0 и как все это читать.

Читать (Ru)
👍7🔥2💩2🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Animating Carousel Transitions in SwiftUI

Пример реализации карусели с анимацией на SwiftUI.

👉 Painting of The Day
👉 The Problem – How to animate Carrousel Transitions in SwiftUI?
👉 SwiftUI Animated Carrousel Code Example
👉 Summary – Animating View Transitions in SwiftUI

Читать (En)
👍6🔥2👏1💩1🤡1
Sticky Header в SwiftUI

Простой гайд по реализации Sticky Header на SwiftUI.

Код на GitHub → HabrHeader

Читать (Ru)
👍103🔥3💩1🤡1
Unit Testing and UI Testing in iOS

Руководство по настройке и написанию Unit/Ui тестов.

• Configure Unit and UI tests in new and existing projects
• Understand the life cycle of the test case
• Add a Unit test case with an example
• Add a UI test case with an example
• Best Practices
• Conclusion

Читать (En)
🔥102👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Animate background with color gradient in SwiftUI

Пример реализации анимированного, градиентного бекграунда на SwiftUi.

Читать (En)
4👍2🔥2
Исчерпывающее руководство по настройке Jenkins под iOS в 2023 году

Подробный гайд по настройке Jenkins под iOS.

👉 Установка зависимостей
👉 Настройка джобов
👉 Настройка вашего Jenkinsfile
👉 Зависающие сборки
👉 Заключение

Оригинал тут: Step-by-Step Jenkins Setup for iOS in 2023 | Ultimate Guide

Читать (Ru)
6🔥3💩2🤡2👍1
iOS Developer Roadmap 2023

Не знаю насколько актуально, но обратить внимание в любом случае можно, особенно начинающим.

Роадмап по iOS с подборкой ресурсов по некоторым темам.

Читать (En)
👍19👎64🔥3
Про многопоточность. Operation

Еще один материал про многопоточку, в частности про Operation.

👉 Вступление
👉 Operation
👉 BlockOperation
👉 OperationQueue
👉 Operation vs GCD
👉 Заключение

У автора есть еще две статьи про Thread и GCD – раз и два, только они от 2021 года.

Ссылки на все части

• Thread
• GCD
• Operation

Читать (Ru)
🔥95👍3💩1
UICollectionView внутри UICollectionView программно

Статья с примером реализации вложенного CollectionView программно.

Код на GitHub → Collection-view-challenge

Читать (Ru)
👎8👍4💩4🔥2🤡21👏1
Server-Driven UI using SwiftUI

Статья с примером, как можно спроектировать вьюхи, логику, рендеринг на SwiftUI для реализации Server-Driven UI.

👉 Window
👉 Container
👉 Layout
👉 Content View

Читать (En)
🔥83👍3
Swift и Objective-C в одном SDK. Стерпится, слюбится

Опыт итеративного переписывания проекта с Objective-C на Swift, с поддержкой двух языков одновременно.

Статья будет полезна тем, кто разрабатывает SDK, используя оба языка, а также тем, кто хочет переехать с Objective-C на Swift.

👉 Что предлагает Apple?
👉 Какие существуют варианты?
👉 Компромисс

Читать (Ru)
🔥8💩31👍1
Forwarded from Mobile Native ️️
Что посмотреть на выходных.

Накопилась очередная пачка различных видосов – туториалы, доклады с конференций и т.д.

Android

• Top App Bar (Toolbar) - UX With Material3
• Navigation Rail - UX With Material3
• Navigation Drawer - UX With Material3
• Bottom App Bars - UX With Material3
• Selection UI Components (Checkboxes, Switches, Radio Buttons) - UX With Material3
• Live Edit for Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Mock Junior Android Developer Interview
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Аналитика многомодульных проектов
• Архитектура сложных клиентских приложений
• Как избежать хаоса: навигация как отдельный логический уровень

iOS

• Как жить с двумя провайдерами карт в крупном проекте
• Swift-уроки: ElasticAnimation / Эластичная анимация
• Декларативная навигация в iOS-приложении
• Кто ты, SwiftData
• GC, ARC, RAM. Часть 3. iOS
• iOS 17 Data Flow with Observation Framework
• Xcode Structured Logging
• Accessibility in Swift: Dynamic Colors
• SwiftUI: Placing Tab Bar Over Sheet’s | Apple Map’s Bottom Sheet
• Animated Custom Button - Keyframes API
• See How To Store An Image In SwiftData
• SwiftUI Dynamic Sheet Height - iOS 17
• I converted a Core Data to SwiftData
👍81🔥1