iOS Dev
Открыть в Telegram
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
Больше8 000
Подписчики
-124 часа
+467 дней
+7930 день
Архив постов
8 001
Различные способы сортировки массива строк в Swift
В Swift есть два способа сортировки: тот, который мутирует исходный массив, и тот, который этого не делает.
У них обоих одно и то же требование: элемент в коллекции должен соответствовать протоколу Comparable.
Типы, соответствующие этому протоколу, можно сравнивать с помощью операторов
<, <=, >= и >.
📖 В этом материале рассказывается о различных способах сортировки, а также объясняется, в каких случаях localizedStandardCompare поможет справиться, например, с упорядочиванием имен формата Name2.txt, Name7.txt, и Name25.txt.
@iOS Dev8 001
Для работы в международной команде базового английского может не хватить. Держите 5 советов, которые помогут подготовиться к общению с иностранными коллегами.
Если хотите подтянуть язык для работы в IT — попробуйте Яндекс Практикум. Они запустили курсы специально для разработчиков, аналитиков и продакт-менеджеров.
В основе обучения — занятия с личным преподавателем, дополнительно вас ждёт разговорная практика с иностранными IT-специалистами. Они помогут освоить язык на примере собеседований, стендапов, ревью и других рабочих встреч. Будет проще пройти реальное англоязычное собеседование, если вы уже тренировали его на занятиях.
🌐 Записывайтесь на бесплатную консультацию к куратору. Он определит ваш уровень языка и расскажет о курсе.
@iOS Dev
8 001
Визуальное справочное руководство для документирования кода на Swift
📖 В этом огромном материале Marco Eidinger представляет полный обзор параметров для документирования.
Кроме этого, он делится советами и рекомендациями по эффективному созданию документации, а также рассматривает различия между
Xcode Quick Help по сравнению с DocC Renderer и Jazzy.
@iOS Dev8 001
Weekend offer от ВКонтакте для C++ и мобильных разработчиков
Множество ключевых команд приглашают разработчиков получить шанс попасть в одну из них за выходные: достаточно оставить отклик, и с вами свяжутся.
Уже 11–12 марта состоятся встречи с тимлидами: они расскажут про процессы и задачи, которые предстоит решать, и ответят на все вопросы. Также состоятся интервью и финальные собеседования с кандидатами. А вечером второго дня определят лучших и отправят им оффер.
Успевайте оставить отклик до 9 марта!
@iOS Dev
8 001
🔆 Обновление App Store: бенчмарки для приложений
С помощью нового показателя в App Analytics вы можете оценить производительность своего приложения, сравнив ее с аналогичными приложениями в App Store.
Выкатили сравнение по следующим показателям:
🔘Коэффициент конверсии.
🔘Коэффициент удержания на 1-й, 7-й и 28-й день.
🔘Показатель сбоев.
🔘Средний доход на одного платящего пользователя.
Приложения в одной и той же категории App Store группируются вместе.
🌐 На официальном сайте можно прочитать про каждый параметр подробнее, а также узнать про советы по улучшению показателей.
@iOS Dev
8 001
Зарплаты разработчиков во второй половине 2022
🟢 По сравнению с первой половиной 2022 года, зарплаты ощутимо выросли у стажеров — на 14%. Немного подросли зарплаты сеньоров и лидов — по 4%. Практически не изменились зарплаты мидлов и джунов.
🟢 Больше всего выросли зарплаты разработчиков Delphi — на 28%.
Медианная зарплата Objective-С разработчиков выросла на 4% — 260 000 ₽.
🤑Медианная зарплата джунов на Swift — 95 000 ₽ (+9%), процентно схожий рост у мидлов, у сеньоров +3%.
💪 Среди лидов больше всего платят Swift-разработчикам — 350 000 ₽, а меньше всего лиды получают в 1С.
@iOS Dev — о важном
8 001
Три способа передачи данных при использовании WatchConnectivity
⌚При работе с
watchOS, существуют различные методы для связи между устройствами iPhone и Apple Watch.
Основной точкой взаимодействия является класс WCSession. Этот объект используется для создания соединения между телефоном и часами.
И хотя Apple рекомендует использовать собственные возможности URLSession для запроса данных, методы из поста предназначены для передачи небольших объемов информации.
📖 В этом материале автор рассказывает о своём опыте работы с watchOS и плюсах и минусах каждого из способов связи между Apple Watch и iPhone.
@iOS Dev8 001
Создание шаблонов заголовков в Xcode для Swift Packages
Если вы используете
Swift Package, при создании нового файла возникают две неприятные проблемы:
1️⃣ Нет шаблона заголовка.
2️⃣ Нет запроса для имени файла.
📖 В этом материале есть решение для обеих проблем (вы можете использовать его и под свои рабочие процессы).
📖 А про изменение стандартных заголовков в файлах Xcode есть небольшой пост вот тут.
@iOS Dev8 001
Создание приложения, похожего на стандартный iOS Timer с помощью SwiftUI
📖 В этом материале рассказывается, как повторить стандартный таймер на SwiftUI, ориентируясь на следующие 4 части интерфейса:
1️⃣
TimePickerView.
2️⃣ Элементы управления StartButton и StopButton.
3️⃣ CircularProgressView, который виден только при активном таймере.
4️⃣ Элемент управления PauseButton, который виден также только при активном таймере.
Каждый из компонентов пользовательского интерфейса создаётся по отдельности.
🛠 Исходный код проекта доступен здесь.
@iOS Dev8 001
🚨Обновите fastlane срочно!
В последние пару дней многие могли столкнуться с проблемой авторизации фастлейна, которая на самом деле ещё серьёзнее.
Дело в том, что теперь Apple требует заголовок
X-APPLE-HC при входе в https://idmsa.apple.com/appleauth/auth/signin.
❗️Отсутствие этого заголовка приводит к запрету доступа и возможной блокировке учетной записи Apple ID (некоторых, в том числе и один из моих личных аккаунтов это затронуло).
📔 Детальнее в этом пулл-реквесте: обсуждение.
В версии 2.212.1 эту проблему устранили, однако найстойчиво рекомендуется перейти на ключи App Store Connect API (как раз этот способ я использую в приложении Starly).
🛠Ссылка на актуальную версию fastlane здесь.8 001
Загляните в канал Романа - Head of Mobile с суммарным опытов в IT 10+ лет .
Новости и гайды по iOS-разработке, статьи об управлении командой и создании продуктов в одном телеграм канале — iOS Enjoyer.
8 001
Реализация показа аннотаций диаграмм при наведении в Swift Charts
📖 В этом посте можно узнать, как создать интерактивную гистограмму, которая показывает аннотации при наведении
Отметки столбцов будут отражать данные о продажах трех разных продуктов за год, сгруппированные по месяцам.
Кроме этого, в аннотациях будут указаны точные данные о продажах каждого продукта за определенный месяц.
🛠 Пример реализации доступен на github.
@iOS Dev
8 001
Реализация вращения линейного градиента на SwiftUI
LinearGradient принимает в качестве управления направлением аргумент типа UnitPoint.
Оказывается, что это просто нормализованная пара X/Y под капотом, так что при выборе подходящих X и Y, можно рисовать свои градиенты под любым углом.
📖 Автор рассказывает о том, как несложно реализовать подобный эффект и приводит пример кода.
@iOS Dev8 001
Quick actions для iOS: интеграция и примеры
🧑💻 Quick actions — отличный способ предоставить пользователям быстрый доступ к общим функциям вашего приложения на главном экране.
Пользователь может коснуться и удерживать иконку приложения, чтобы отобразить набор ярлыков или действий, которые можно выполнить прямо с хоумскрина.
📖 В этом материале вы сможете узнать, как создавать:
1️⃣ Static quick actions, которые всегда доступны для вашего приложения.
2️⃣ Dynamic quick actions, которые ваше приложение может определить в рантайме.
3️⃣ Как поддерживать оба типа быстрых действий на примере тестового приложения.
@iOS Dev
8 001
Опенсорсный клиент на SwiftUI для Mastodon: демонстрация реализованных методов и фич
IceCubesApp — это приложение с открытым исходным кодом для доступа к децентрализованной социальной сети Mastodon! Он полностью построен на SwiftUI, что делает его быстрым, легким и простым в использовании.
Проект разделен на разные пакеты Swift, чтобы упростить управление кодовой базой и ее обслуживание.
Каждый из них ориентирован на определенный аспект приложения, такой как пользовательский интерфейс, сетевое взаимодействие или модели данных.
Этот модульный подход упрощает совместную работу и гарантирует, что код организован и прост для понимания.
В большинстве случаев архитектура представляет собой простой MVVM.
📖 Thomas Ricouard написал статью, в которой рассказал о некоторых аспектах и реализованных фичах.
🛠 Приложение на Github доступно по ссылке (⭐️2 100).
@iOS Dev
8 001
Swift Regex: работа с RegexBuilder на примере приложения со списком фильмов
Поиск в тексте не всегда означает поиск точного слова или последовательности символов. Иногда хочется найти закономерность.
Возможно, вы ищете слова, написанные прописными буквами, слова, содержащие цифры, или даже слово, которое вы, возможно, написали с ошибкой в статье, которую пишете, и хотите быстро найти и исправить.
Для этого регулярные выражения являются идеальным решением.
К счастью, Apple значительно упростила их использование в Swift 5.7.
📖 Из этой статьи вы сможете узнать:
1️⃣ Что такое регулярное выражение и как его использовать.
2️⃣ Как Swift 5.7 упростил работу с регулярками.
3️⃣ Как захватить части строки, которую вы ищете.
4️⃣ Как использовать
RegexBuilder для построения сложного выражения.
5️⃣ Как загрузить плохо отформатированный текстовый файл в модель данных.
6️⃣ Как обрабатывать несоответствия при загрузке данных.
🛠 Код приложения доступен по этой ссылке.
@iOS Dev
Уже доступно! Исследование Telegram 2025 — ключевые инсайты года 
