iOS Dev
Kanalga Telegram’da o‘tish
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
Ko'proq ko'rsatish7 982
Obunachilar
-1324 soatlar
-117 kunlar
+6330 kunlar
Postlar arxiv
7 982
‼️Сбер Онлайн в App Store - всё.
Используйте веб-версию.
Вышло официальное заявление Сбербанка:
⚡️В связи с введенными санкциями с 12 апреля мобильное приложение СберБанк Онлайн на платформе iOS недоступно для скачивания и обновления в магазине App Store.
Для клиентов, у которых уже установлено приложение, нет поводов для волнений — все ранее установленные приложения работают, никаких ограничений по их использованию нет, удалять установленные приложения не нужно.
Кроме того, для проведения всех необходимых операций клиенты могут использовать веб-версию СберБанк Онлайн, которая адаптирована для мобильных устройств.
7 982
Про мощь SF Symbols
Наверняка, многие из вас уже довольно давно используют SF Symbols.
Но использовали ли вы, например, foregroundStyle(), который позволяет добавлять градиенты индивидуальным компонентам внутри?
На скриншоте выше как раз пример использования этого подхода для символа
person.3.sequence.fill
А ещё больше информации и возможностей можно узнать в этой статье.7 982
А вы используете dump()?
Например, в данном случае print() выведет только имя класса.
А вот dump() покажет всю иерархию.
На самом деле, у него гораздо больше возможностей (и параметров).
value
Значение для вывода в целевой поток.
name
Метка, которую следует использовать при записи значения. По умолчанию используется nil.
indent
Количество пробелов, используемых в качестве отступа для каждой строки вывода. По умолчанию равно 0.
maxDepth
Максимальная глубина, на которую следует опускаться при записи содержимого значения, имеющего вложенные компоненты. По умолчанию Int.max.
maxItems
Максимальное количество элементов, для которых следует записывать всё содержимое. По умолчанию Int.max.
#dump #print
7 982
Работа с Diffable data source и table views с использованием UIKit
🛠 В этом туториале автор приводит пример использования на примере таблицы с двумя секциями.
Несложное руководство, которое точно можно использовать в качестве знакомства и инструмента альтернативного подхода к созданию таблиц. Хотя не исключаю, что у вас оно уже давно в используется в проде)
📖Свой перевод статьи (уже по традиции) опубликовал тут.
7 982
Какое там разрешение у iPhone 13 Pro Max?
Если вы иногда забываете, какие скриншоты нужны для App Store или ваш дизайнер, например, спрашивает, какое разрешение у Apple Watch, чтобы реализовать новое приложение, то могу порекомендовать крутой ресурс со сравнением девайсов по огромному количеству характеристик.
Устройства
iPhone, iPad, iPod Touch, Apple Watch, Apple TV.
В общем, достаточно один раз взглянуть, чтобы сохранить себе в закладки.
Кстати, тут есть наглядное сравнение, на каком девайсе какая максимальная ось, что может быть полезно, если вы поддерживаете широкую линейку устройств.
7 982
Всё, что нужно знать об утечках памяти
В статье c громким названием автор старается ответить на следующие вопросы.
— Что такое утечка памяти в iOS?
— Почему происходит утечка памяти?
— Из-за чего ARC не может освободить память?
— Утечки памяти в closure?
— Возможные решения.
— Некоторые особые сценарии (утечки памяти в синглтонах и статических классах).
— Closures без эскейпинга.
— Разница между weak и unowned памятью.
— Идентификация утечек с помощью отладчика.
— Некоторые правила.
👏 1.1K
7 982
Ресурс, на котором можно сравнить среднее время проверки приложений
Иногда можно заглядывать на эту страницу, если вдруг появится вопрос, неужели у всех так долго? Или, например, а они вообще проверяют сейчас?
Сами же Apple заявляют, что в среднем 50% приложений рассматриваются в течение 24 часов, а более 90% - в течение 48 часов. Если ваша заявка неполная, время рассмотрения может еще больше затянуться или ваше приложение может быть отклонено.
Но мы можем и сами проверить!
7 982
Сегодня суббота, поэтому поделюсь с вами историей о разработке, напрямую связанной с iPhone.
Возможно ли, что 26-летний программист за 2 года создаст приложение стоимостью в миллиард долларов?
Этот человек закончил Стэнфорд и принял оффер от Google на одну из самых низкооплачиваемых должностей. Маркетинговый отдел не то чтобы предел мечтаний для технаря, но ради этой работы он отклонил целый ряд предложений от различных стартапов.
Он говорил потом, что ему не была важна должность, главное было попасть в Google.
Он работал в отделе корпоративного развития. На этой должности нужно было постоянно общаться с предпринимателями. Сама же роль в Google заключалась в том, чтобы помогать покупать компании.
В 2008 году экономика пришла в упадок. Его босс посоветовал просто пойти поиграть в гольф, поскольку они больше не собирались покупать компании. И в итоге наш герой покинул Google расстроенным.
Он хотел что-то создать, но не знал, что именно. Он задался вопросом, как сделать лучшую версию другого приложения Foursquare. Затем к нему присоединился ещё один человек, и уже вместе они решили создать что-то интересное и забавное. Но когда они зарелизили первую версию, оказалось, что пользователи посчитали приложение вторичным и неинтересным.
Люди хотели делиться тем, что они делают и тем, где они находятся в любой момент времени, и наши герои всерьёз ухватились за эту идею.
🛠 Команда нового приложения использовала Objective-C, и делала приложение только для iPhone. Они также использовали Python и Django для всей внутренней работы, Postgres и MySql для работы с базами данных.
Ну что, вы уже догадались, о ком я хотел рассказать?
Да, этими героями были Кевин Систром и Майк Кригер и в тот момент они начали работать над Instagram. А уже через пару лет лет Facebook купил Instagram за 1 миллиард долларов.
7 982
В этом канале я также планирую делиться качественными опенсорсными решениями.
Сегодня вашему вниманию две либы для создания графиков (диаграмм и так далее).
Charts (CocoaPods/Carthage/Swift Package Manager)
⭐️ 25.2k
SwiftUICharts (SPM - минимальная версия Xcode 11 и iOS 13)
⭐️ 4.2k
7 982
Туториал по Core Data
Как признаётся автор, его основная цель заключается в том, чтобы показать, как Core Data работает под капотом, а не в решении какой-то конкретной задачи.
Реализация инкрементных и атомарных хранилищ - одна из увлекательных тем, которые необходимо изучить при погружении в Core Data.
Это отличная возможность расширить свое видение на разработку iOS и посмотреть со стороны, например, в роли создателя фреймворка.
7 982
Невероятная жизнь Уолтера Митти (2013)
Рубрика #whattosee
Уолтер Митти — сотрудник отдела иллюстраций журнала Life. Его работа — сплошная рутина, хотя в своих мечтах он уносится очень далеко. В присланных фотографом Шоном О’Коннелом негативах для обложки журнала не хватает одного кадра. Единственный шанс получить фотографию — найти самого Шона. И Уолтер отправляется в долгое путешествие.
При чем тут IT?
Всем полезно иногда выходить из плоскости, чтобы найти решение.
7 982
Краткая инструкция для навигации по строке терминала, если вам понадобилось поменять символ
Чтобы не стирать всю строку целиком, или долго нажимать клавиши влево или вправо, перенесите курсор в то место, где нужно поменять, а затем нажмите OPTION + Click
7 982
Пятничный туториал
Многие из нас делали змейку в универе или в качестве эксперимента. Но делали ли вы её, используя SwiftUI?
Mark Lucking, к слову, не только сделал, но и поделился шагами для реализации. Что у него получилось - можно прочесть здесь.
При этом он цитирует Конфуция, который не был программистом:
Скажи мне, и я забуду;
Покажи мне, и я запомню;
Сделай вместе со мной, и я пойму.
🛠 Код, который Марк разрешает использовать для своей собственной змейки — можно посмотреть по этой ссылке.
7 982
Обновление приложения Apple Developer
Теперь можно будет использовать приложение Apple Developer iOS и iPadOS для продления своего аккаунта в программе Apple Developer Program, если сама регистрация была через web. Продление аккаунта будет осуществляться в виде автоматически возобновляемой подписки с поддержкой многих местных валют и способов оплаты.
P.S. Вероятнее всего, можно будет платить мобильным счётом, что в текущих условиях кажется выходом.🤔
7 982
Когда шутка вышла из-под контроля
Первого апреля завирусилась история, что Apple якобы выпускает сканер отпечатка пальца Touch ID отдельно.
🛠 А один из пользователей взял да и сделал собственный аксессуар.
Для этого ему, правда, пришлось разобрать клавиатуру Magic Keyboard, а затем, убрав все элементы - соединить сам сканер с оригинальной платой.
Но оно того стоило, а сам результат пусть и не в фирменном дизайне, можно посмотреть на фото 😉
7 982
Структурированный параллелизм (structured concurrency) в Swift
Пообщался в твиттере с Тайбором (Tibor Bödecs), который ведёт свой блог о разработке и пишет полезные статьи. И решил поделиться с вами одной из них.
Верю, что у вас найдется время и возможность её прочесть и вынести для себя что-то полезное.
Прочитать статью по традиции можно тут.
7 982
Код может быть многословным и не требующим пояснений - Swift.
Framework Contacts - подержи мое пиво!
7 982
Зарплаты разработчиков
Вышла традиционная статья от Хабр.Карьеры с аналитикой зарплат.
Всё как мы любим: цифры, графики, разбивка по языкам.
Выжимка из статьи для iOS-разработчиков:
Медианная зарплата Swift-разработчиков во втором полугодии 2021 выросла до 200 000 ₽ (+13% по сравнению с первой половиной 2021).
Джуны начали зарабатывать 80 000 ₽ (+23%), мидлы — 160 000 ₽ (+9%), сеньоры — 264 000 ₽ (+22%), лиды — 294 000 ₽ (+7%).
В прошлом полугодии разработчики в Objective-C зарабатывали 250 000 ₽ (+25% по сравнению с первой половиной 2021).
Медианная зарплата мидлов — 168 000 ₽ (+5%), сеньоров — 273 000 ₽ (+24%), лидов — 281 000 ₽ (-6%).
Прочитать статью можно тут.
7 982
Вопрос оказался непростым! Кстати, почитать подробнее про это можно здесь:
https://docs.swift.org/swift-book/ReferenceManual/Statements.html
Перешлите опрос своим коллегам, посмотрим, кто из них😎, а кто 😳
В будущем планирую больше каверзных вопросов, так что будьте начеку!
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
