Swift Tips
2.83K subscribers
310 photos
1 video
2 files
279 links
Ежедневные советы, подсказки, лайфхаки и статьи по iOS и Swift.

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

Apple обновила раздел с туториалами по Swift и SwiftUI для начинающих.

🟢SwiftUI: Explore Xcode
🟢SwiftUI: Views, structures, and properties
🟢SwiftUI: Layout and style
🟢SwiftUI: Buttons and state
🟢SwiftUI: Lists and text fields
🟢Data modeling: Models and persistence
🟢Data modeling: Data editing and navigation
🟢Data modeling: Relationships and queries
🟢Spatial computing: Windows in visionOS
🟢Spatial computing: Volumes in visionOS

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
Nerdy internals of an Apple text editor

Большая статья с разбором, как работает под капотом TextView.

• Text view
• Attributes
• Styling
• Performance
• Meta attributes
• Text container math
• Selection anchoring
• Selection affinity
• Uniform Type Identifiers
• Pasteboard

Читать (En)
Forwarded from Mobile Native ️️
Подборка бесплатных книг

Забирайте репозиторий с огромным количеством бесплатных книг по разным технологиям на разных языках, в том числе и на русском.

Имейте в виду, репозиторий достаточно старый, вероятно что-то может быть deprecated

GitHub → Free Programming Books
Popular git config options

Самые популярные настройки Git config.

pull.ff only or pull.rebase true
merge.conflictstyle zdiff3
rebase.autosquash true
rebase.autostash true
push.default simple, push.default current
init.defaultBranch main
commit.verbose true
rerere.enabled true
help.autocorrect 10
core.pager delta
diff.algorithm histogram
core.excludesfile ~/.gitignore
includeIf: separate git configs for personal and work
fsckobjects: avoid data corruption
submodule stuff

Читать (En)
Сборка приложения для AppStore. Используем Jenkins, Fastlane, TestFlight

Большой туториал по настройке CI/CD пайплайна с использованием Jenkins и Fastlane.

👉 Что такое CI/CD?
👉 Автоматизация создания сборки – общий процесс
👉 Установка Jenkins на macOS
👉 Установка Fastlane
👉 Сборка и отправка приложения в TestFlight
👉 Интеграция Jenkins с Fastlane
👉 Настройка автоматической сборки с помощью вебхуков
👉 Определение пайплайна сборки в Jenkinsfile

Читать (Ru)
Почему Accelerate — это не страшно

В статье рассказывается, почему Accelerate — это не так уж страшно и какая теория лежит в его основе. На конкретных примерах показывается, насколько Accelerate способен помочь или не помочь в улучшении производительности.

👉 Что такое Accelerate и как с ним работать
👉 Примеры использования Accelerate
👉 Советы и рекомендации

Читать (Ru)
Forwarded from Mobile Native ️️
Swift Cheatsheet for Android/Kotlin Developers

Относительно большая статья с сравнением Swift и Kotlin: синтаксис, основы и некоторые распространённые шаблоны.

👉 Basics (Variables, Optionals/Nullability, Functions, etc)
👉 Structures and Classes
👉 Optional Binding
👉 Enums
👉 Dictionary / Map
👉 Extensions
👉 Protocols

Читать (En)
Forwarded from Mobile Native ️️
Что посмотреть на выходных. Подборка полезностей 👇

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

Лекции Young&&Yandex

• Android - Вводная про платформу
• Android - Погружение в JVM
• Android - View в Android
• Android - Продвинутый UI
• Android - Архитектура
• Android - Корутины
• Android - Потоки и асинхронность
• Android - Инструменты разработки
• Android - Jetpack compose
• Network в Android
• Gradle и система сборки Android

• iOS - Вводная про платформу
• iOS - Advanced Swift programming
• iOS - Persistence
• iOS - Архитектура
• iOS - Concurrency
• iOS - Слой представления UIView
• iOS - Слой вью-контроллеров UIViewController
• iOS - SwiftUI
• Алгоритмы - теория и практика

Mobius

• Android – Как мы создавали дизайн-систему на Jetpack Compose
• DION – Интеграция MediaPipe в Android-приложение видеоконференцсвязи
• BDUI – удовольствие или боль
• BDUI на 100%: управляем шиммерами с бэкенда
• Убиваем Lottie? Тащим Rive?
• Cracking the Mobile Interview
• iOS — Навигация в SwiftUI
• Как Compose Multiplatform for iOS может убить Flutter?
• Рецепт приготовления кроссплатформенного мобильного видеоредактора
• Жизнь инди в Google Play
• Tracer — альтернатива Crashlytics. Другой взгляд на аналитику ошибок в приложениях
Может ли мобильный-разработчик стать CTO?

Короткая версия: Да, может. На этом статью можно было бы закончить. Спасибо, что дочитали до конца, приходите поделиться своим опытом в комментариях.

Подробней читайте в статье: какие есть пути развития в мобильной разработке, что делать, если ты уже тимлид, кто такие крутые Individual Contributors (топовые разработчики) и как стать одним из них.

Читать (Ru)
Reflection в iOS: как посмотреть содержимое любой сущности

В Swift, как и во многих других языках программирования, есть возможность получать информацию о структуре объекта в Runtime. Для этого в языке есть специальный механизм — Reflection. С его помощью можно просматривать содержимое любых сущностей, не зная о них абсолютно ничего.

В статье рассказывается, какие возможности есть у Reflection в Swift, ограничения и подводные камни. Рассматривается его применение на примерах, кейсы для использования в повседневной работе, возможность отключения Reflection в проекте и на что это может повлиять.

Читать (Ru)
О, вы из Англии? Локализация Ozon Seller на iOS

Статья от Ozon, в которой рассказывается про локализацию iOS-приложения.

С какими трудностями столкнулись и как их решили при использовании стандартного процесса, про системный алгоритм определения языка и пример перевода приложения «на лету».

Читать (Ru)
Clean architecture и MVVM в iOS разработке

В статье на примере проекта показывается как архитектурные паттерны MVVM и Clean Architecture могут быть применены в iOS приложении.

Оригинал тут: Clean Architecture and MVVM on iOS

Читать (Ru)
iOS Privacy Manifest

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

В соседнем чате наткнулся на тулзу, по генерации файла – iOS Privacy Manifest Maker. Дублирую сюда + собрал несколько полезных статей/гайдов.

👉 Privacy Manifest: что нужно о нём знать для внедрения в проект
👉 Как добавить Privacy Manifest
👉 How to quickly get a PrivacyInfo.xcprivacy file for your iOS app
👉 iOS Privacy Manifest Maker
Swift 6 upgrade Preparation

Гайд по подготовке кодовой базы к переходу на Swift 6.

👉 Preparing Xcode Projects for Swift 6
👉 Preparing Packages for Swift 6
👉 Advice for Updating Packages for Strict Concurrency
👉 Convert Methods that Use Completion Handlers to Async Methods
👉 Global or Static Var is Not Concurrency-Safe in a Non-Isolated Context
👉 Actor-Isolated Property Can Not Be Referenced from a Non-Isolated Context (deinit)
👉 Custom Actor Executors (using DispatchQueue)

Читать (En)
🕗 Под силу ли тебе ответить правильно на 20 вопросов и уложиться в тайминг?

Проверь себя — пройди тест на знание Swift.

Ответишь — сможешь поступить на курс «iOS Developer. Professional» от OTUS со скидкой 15% по промокоду MAY2024 🎁 (праздничный промокод действителен всего 4 дня: с 28.04 по 01.05.2024 включительно).

➡️ НАЧАТЬ ТЕСТИРОВАНИЕ

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru, Erid: LjN8KA7Kp
Apple Design Resources

Apple пополнила свою библиотеку макетов в Figma. Cтали доступны следующие шаблоны 👇

🟢TipKit
🟢Wallet
🟢Tap to Pay on iPhone
🟢Siri & App Shortcuts
🟢Sign in with Apple
🟢Messages
🟢Live Activities
🟢Apple Pay
🟢App Clips

Смотреть 🌐
Please open Telegram to view this post
VIEW IN TELEGRAM