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

По всем вопросам: @artemiygreg
Найти проект: @ios_job
Download Telegram
App Store Marketing Tool - новый бесплатный инструмент для подготовки ассетов вашего приложения в App Store.

https://tools.applemediaservices.com/apple-app-store-promote

Супер полезная штука для любого iOS разработчика, можно потыкать с любым приложением в App Store.
Если до сих пор руки не дошли до обновления Xcode 13, то в статье есть видео и текстовое описание главных обновлений IDE.

https://www.hackingwithswift.com/articles/236/whats-new-in-xcode-13
🔴 Прямо сейчас можно успеть залететь на прямой эфир по собеседованию от Podlodka!

По ссылке будет в записи
https://www.youtube.com/watch?v=4D2ZYWHtR5w
Forwarded from iOS.Devs (Surik Sarkisyan)
Если вы вдруг упустили момент, когда на iOS симуляторе стало можно проверять пуш уведомления (спойлер: достаточно давно), то вот статья! 💌
Добавили эту возможность с огромным опозданием, конечно (все андроидщики смеются нам в лицо), но лучше поздно, чем никогда! 🙃
https://betterprogramming.pub/how-to-send-push-notifications-to-the-ios-simulator-2988092ba931
🎏 Сейчас на собеседованиях часто слышен вопрос про Responder Chain.

🪅 Все, что про него нужно знать, рассказывается в статье на swiftrocks.com/understanding-the-ios-responder-chain.html

🇬🇧 Язык: EN
Время чтения: 8 min

open func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?)
open func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?)
open func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?)
open func touchesCancelled(_ touches: Set<UITouch>, with event: UIEvent?)
open func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?)
open func pressesChanged(_ presses: Set<UIPress>, with event: UIPressesEvent?)
open func pressesEnded(_ presses: Set<UIPress>, with event: UIPressesEvent?)
open func pressesCancelled(_ presses: Set<UIPress>, with event: UIPressesEvent?)
💡 Чтобы уверенно перечислять пункты SOLID друг за другом на собеседованиях, ознакомьтесь со статьей на Habr.

Там все в картинках 😳

https://habr.com/ru/company/productivity_inside/blog/505430/
Forwarded from iOS.Devs (Surik Sarkisyan)
Возможно, вы уже слышали про Xcode Cloud🔨
CI CD от Apple через Xcode🍏
Как и про любой новый продукт, выводы делать пока рано, но есть надежда на то, что это будет что-то хорошее🤞
Из прямо приятных вещей - отсутствие лишней возни с кучей предворительных настроек.
Всё, что понадобится - аккаунт разработчика и проект в git (Github, Gitlab, Bitbucket поддерживаются). На этом всё🤩
Если у вас пока нет своего CI или подыскиваете, куда бы переехать - возможно этот инструмент вам подойдёт.
Но опять же, с оговоркой, что продукт всё еще сырой и он всё еще в бете. Но если решитесь, то подать заявку на участие вряд ли станет проблемой! ✍️
https://www.createwithswift.com/tutorial-setting-up-xcode-cloud-for-automated-builds-tests-and-distribution/
App Store Connect API 2.0 наконец-то вышел! Он очень удобен с точки зрения его использования разработчиками – авторизация через JWT, обновляемая OpenAPI спецификация. А по доступным ресурсам там такая картина:
📌Покупки и подписки
📌Testflight сборки и доступы к ним
📌Настройка Xcode Cloud
📌Доступы и роли пользователей аккаунта
📌Все, связанное с provisioning
📌Версии приложения, метаданные, отправка на ревью
📌Отчеты по продажам и финансам
📌Метрики энергопотребления и перфоманса
📌Пользовательские ревью и ответы на них
📑 Форматирование строк в Swift
👍1🔥1👀1
Throttle vs Debounce в RxSwift

Throttle: the original function is called at most once per specified period.

Debounce: the original function is called after the caller stops calling the decorated function after a specified period.

Полная статья: https://medium.com/fantageek/throttle-vs-debounce-in-rxswift-86f8b303d5d4
👍1🤔1
Курсы LetsBuildThatApp стали бесплатными 🔥

Обучение SwiftUI, DiffableDataSource и новым фишкам 5.1 уже на сайте
👍3🔥1
Как не потерять голову (и память) при поиске утечек в iOS

Отличная статья про причины возникновения утечек памяти в iOS и какие есть способы обнаружения.

• Циклы сильных ссылок
• Неправильное использование делегатов
• Неправильное использование замыканий
• Неправильное использование синглтонов
• Xcode Memory Graph
• Instruments

Читать (Ru)
🔥63👍2
Bottom sheet in iOS

Несколько статей про работу с Bottom sheet в iOS. В первой статье подробно описывается работа кастомного transitioning delegate для отображения любого контента в виде bottom sheet, а во второй рассказывается про организацию навигации внутри bottom sheet.

• Custom transitioning
• Navigation
🔥81👍1🏆1
Разбираем ошибки начинающих iOS-разработчиков

Большая и достойная внимания статья с разбором наиболее популярных ошибок начинающих iOS-разработчиков. К чему приводят такие ошибки и как их можно избежать.

• Связь между Storyboard и кодом
• Использование Auto Layout
• Избыточный force unwrapping
• Использование guard
• Использование switch
• Ошибки при реализации паттерна delegate
• Связи между компонентами

Читать (Ru)
🔥9👀21👍1🤯1
Mastering charts in SwiftUI

Серия статей от Majid про работу с графиками в SwiftUI.

• Basics
• Mark styling
• Custom Marks
• Interactions
• Customizations
• Legends
• Accessibility
🔥8👍21🤮1