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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
iOS 26: Notable UIKit Additions

Такс, разбираю отложенные материалы, вероятно до конца недели могу чутка поспамить, но это не точно 😉

Небольшая обзорная статья основных изменений в UIKit.

👉 Observable Objects
👉 Update properties
👉 Flushing animation updates

Читать (En)
🔥42👏2👍1
async let vs Task group

Ещё одна статья про Swift Concurrency, а именно про отличия async let и Task group с примерами.

Читать (Ru)
👍7🔥43
Swift Actors: What Are They For?

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

В статье более детально можно почитать что это такое и чем отличаются от классов и посмотреть простые примеры использования.

Читать (En)
🔥5👍43
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥32
Combine and Swift Concurrency: A threading risk

Небольшая статья про Combine и Swift Concurrency: миграция, совместное использование и возможные риски, после миграции.

🟢Dispatching to a @MainActor isolation using a Combine pipeline
🟢No compile-time feedback for sink closures
🟢Solving Actor isolation issues in Combine

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
43🔥3👍2
Modern Swift Lock: Mutex & the Synchronization Framework

В статье разбирается один из механизмов синхронизации – Mutex. Как с ним работать, разница mutex и lock, обработка ошибок и т.д..

🟢What is a Swift Lock?
🟢Using Swift’s Mutex lock from the Synchronization framework
🟢A lock that works great with Swift Concurrency
🟢Shouldn’t I use an actor instead of locks in Swift Concurrency?

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2
Игра в SPM

В статье автор делится опытом перехода на Swift Package Manager, проблемами с которыми столкнулся и как их решал.

Читать (Ru)
👍43🔥3
How to use the @available attribute in Swift

Небольшая статья про то, как использовать атрибут @available.

Читать (En)
🔥43👍3
Global actor in Swift Concurrency explained with code examples

Ещё одна небольшая статья про Concurrency, а именно разбор Global Actor с примерами кода.

🟢 What is a Global Actor?
🟢 How to use a custom Global Actor?
🟢 Preventing misuse of a Global Actor

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2
12 Swift Optimization Secrets Apple Won’t Tell You

Статья с советами, рекомендациями и примерами оптимизации Swift-кода.

🟢Copy-on-Write (COW): Smart Memory Efficiency
🟢Value Types vs Reference Types: The Foundation of Swift Performance
🟢ARC Overhead: Understanding Retain and Release
🟢Inlining and Function Dispatch
🟢Looping and Lazy Collections
🟢Memory Layout Optimization: Struct Alignment Tricks
🟢Concurrency Optimizations: Making Async Code Fly
🟢Compiler-Level Optimizations
🟢Profiling with Instruments
🟢Real-World iOS Scenarios
🟢Practical Tips & Best Practices
🟢Conclusion: Clean Code First, Optimize Second

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥42
Что придумал Тим Кук кроме нового айфона? Узнаем в компании VK и Coffee&Code.

9 сентября встречаемся в Москве в офисе VK в Авроре. Будем смотреть и обсуждать презентацию, играть в бинго, общаться и чилить с попкорном и чипсиками.

Регистрация — тут. Ждём вас!
4🔥4👍3🥰1
How to Build a CI/CD Pipeline for iOS Projects

Подробная статья в блоге Jetbrains о том, как собрать CI/CD пайплайн для iOS-проектов с помощью TeamCity.

🟢Code checkout and version control integration
🟢Building iOS applications with Xcode
🟢Testing across multiple iOS versions
🟢Static code analysis and code coverage reporting
🟢Signing and packaging (IPA files)
🟢Deploying to TestFlight or the App Store
🟢Setting up the iOS project
🟢Initializing fastlane
🟢Setting up the beta lane
🟢Configuring fastlane match
🟢Create a new project in TeamCity Cloud
🟢Configure build job
🟢Set up AWS Secrets
🟢Set up build parameters
🟢Testing the pipeline

Читать (En)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍43
What's New in UIKit

Большая статья с детальным обзором всех изменений в UIKit в iOS 26.

Читать (En)
7👍3🔥3
UI Kit для iOS and iPadOS 26

Обновленные наборы компонентов в Figma и Sketch для iOS и iPadOS 26.

Figma 🌐 | Sketch 🌐
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
big tech night — это «ночь музеев» в мире IT, где Яндекс, Сбер, X5, Т-Банк и Lamoda впервые приглашают за кулисы.

Формат, придуманный в Яндексе, для тех, кто уже в IT или только стремится туда попасть. Здесь можно увидеть, как создаются технологии, меняющие окружающую среду, познакомиться с коллегами, обменяться опытом, задать неудобные вопросы и почувствовать себя частью комьюнити.

Вас ждут доклады, иммерсивные экскурсии и атмосфера IT-андеграунда. А если вы не в Москве, подключайтесь к онлайн-студии с двумя потоками — от серьезных дискуссий для гиков до лампового ночного шоу с историями из жизни.

Когда: 12 сентября.
Где: Москва или онлайн.
Регистрация - здесь.
👍42🔥2
Swift Concurrency и CoreBluetooth: как построить современный BLE-сервис

Автор статьи рассказывает про подводные камни, с которыми столкнулись при совмещении structured concurrency и callback-ориентированного API, как их обойти и на что стоит обратить внимание, если вы тоже решите «прикрутить» современные async/await к старому API.

И всё это на довольно нетипичном кейсе – управление дверьми машины каршеринга через Bluetooth, на случай отсутствия интернет соединения.

Читать (Ru)
8🔥5👍3
В iOS-безопасности нет «поставил и забыл»: инструменты и атаки меняются быстрее релизов.

Если сомневаетесь, что на клиенте всё прикрыто, новый сезон конференции Podlodka iOS Crew 22-26 сентября поможет закрыть дыры.

В программе:


• Региональные ограничения и поведение устройства. Как iPhone определяет доступные фичи для страны, что проверять и как воспроизводить это на практике — со Светославом Карасевым (hh ru).

• Обфускация в iOS. Какие подходы реально мешают реверсу, какие инструменты выбрать и как собрать свой пайплайн на SwiftSyntax — с Павлом Каретниковым (Газпромбанк).

• AppSec для iOS. От ландшафта атак до хранения данных и сети — практики, ошибки и советы, как внедрять безопасную разработку в командах разного размера.

• Финальный разбор мини-CTF. Неделю собираем флаги, в пятницу — разбор находок и выводы для прода — с Никитой Красновым (Альфа-Банк).

🔗 Подробности и регистрация: https://podlodka.io/ioscrew

Для подписчиков скидка 500 р по промокоду: ios_crew_16_O7DzDC
4👍3🔥3
Swift на Android: создаём библиотеку

В Swift 6 появилась возможность работать с Android NDK. Это значит, что мы можем писать код на Swift`е и в последствии, с минимальной болью вызывать его из Android среды (Java, Kotlin) c помощью JNI*.

Java Native Interface (JNI) – это мост который позволяет нативному коду обращаться к Java Virtual Machine (JVM). Когда вы пишете Java код, то вы используете Android SDK. Но когда вы используете языки как Swift или C++, которые не компилируются в Java байткод, вам уже нужен Android NDK для коммуникации с Java через JNI.


Ловите подробную гайд-статью от @imike3049, как это всё можно завести.

Читать (Ru)
87👍3🔥3
Новые подходы в Swift для тестирования: разбор технологии Swift Testing

Статья с разбором нового фреймворка для юнит-тестирования от Apple, представленного на WWDC 24 – Swift Testing.

🟢Немного о Swift Testing
🟢Expectation
🟢withKnownIssue
🟢Кастомизация тестов
🟢Параметризованные тесты
🟢Возможности миграции с XCTest к Swift Testing

Читать (Ru)
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2🔥2