iOS Dev
الذهاب إلى القناة على Telegram
👨💻Автор: Виктор Грушевский (@Viktorianec) ⚒️ База: https://boosty.to/ios_dev | 🤖 @iOSIQBot | https://iosiq.ru 🍏Канал об iOS-разработке, алгоритмах и архитектурах ⭐️ Подготовка к собесам ⭐️ Код. Много кода. #ios #mobile #swift
إظهار المزيد7 975
المشتركون
+224 ساعات
+257 أيام
+5230 أيام
أرشيف المشاركات
7 973
Необычная анимация, эмулирующая поведение Wallet
Разработчик постарался полностью повторить поведение эффекта для Apple Pay без сторонних зависимостей.
Используется CMMotionManager, поэтому особенно круто это анимация выглядит в движении.
Впрочем, попробуйте сами собрать проект и понаклонять девайс.
#animation
7 973
Мне сложно в это поверить, но мы преодолели рубеж в 500 человек 🥳🥳🥳
Для меня это очень важно, и я хочу сказать спасибо каждому из вас за то, что вы здесь.
Как и прежде, я продолжу писать о разных интересных вещах из нашей с вами области разработки.
Кроме этого, конечно, продолжу делиться кодом (как говорится, лучше раз попробовать, чем 100 раз увидеть), а также какими-то необычными подходами.
Кстати, если вам понравилась анимация, то она сделана не в стороннем редакторе, а на Swift, а сам проект доступен здесь (в качестве картинки Spark можете использовать любую.
Верю, что кому-то из вас пригодятся эти знания, а про сам CAEmitterLayer постараюсь потом написать отдельно.
7 973
Apple всё ещё следит за вами. Без вашего согласия
В текущей версии macOS Monterey, при каждом обновлении системы на системе, содержащей чип M1, такой же как и все новые блестящие/быстрые маки с ARM ("Apple Silicon"), процесс обновления обращается в Apple, чтобы получить специальную подпись загрузки, известную на жаргоне Apple как "билет" (он же ticket).
Это делается абсолютно незашифрованным способом, через стандартный открытый 80 порт HTTP (точно такой же протокол, который запрещен для использования сторонними разработчиками приложений в App Store при передаче приватных данных, таких как уникальные идентификаторы, служащие PII) на хост
gs.apple.com.
А какую в себе опасность это несёт - поделился здесь.7 973
‼️Сбер Онлайн в App Store - всё.
Используйте веб-версию.
Вышло официальное заявление Сбербанка:
⚡️В связи с введенными санкциями с 12 апреля мобильное приложение СберБанк Онлайн на платформе iOS недоступно для скачивания и обновления в магазине App Store.
Для клиентов, у которых уже установлено приложение, нет поводов для волнений — все ранее установленные приложения работают, никаких ограничений по их использованию нет, удалять установленные приложения не нужно.
Кроме того, для проведения всех необходимых операций клиенты могут использовать веб-версию СберБанк Онлайн, которая адаптирована для мобильных устройств.
7 973
Про мощь SF Symbols
Наверняка, многие из вас уже довольно давно используют SF Symbols.
Но использовали ли вы, например, foregroundStyle(), который позволяет добавлять градиенты индивидуальным компонентам внутри?
На скриншоте выше как раз пример использования этого подхода для символа
person.3.sequence.fill
А ещё больше информации и возможностей можно узнать в этой статье.7 973
А вы используете dump()?
Например, в данном случае print() выведет только имя класса.
А вот dump() покажет всю иерархию.
На самом деле, у него гораздо больше возможностей (и параметров).
value
Значение для вывода в целевой поток.
name
Метка, которую следует использовать при записи значения. По умолчанию используется nil.
indent
Количество пробелов, используемых в качестве отступа для каждой строки вывода. По умолчанию равно 0.
maxDepth
Максимальная глубина, на которую следует опускаться при записи содержимого значения, имеющего вложенные компоненты. По умолчанию Int.max.
maxItems
Максимальное количество элементов, для которых следует записывать всё содержимое. По умолчанию Int.max.
#dump #print
7 973
Работа с Diffable data source и table views с использованием UIKit
🛠 В этом туториале автор приводит пример использования на примере таблицы с двумя секциями.
Несложное руководство, которое точно можно использовать в качестве знакомства и инструмента альтернативного подхода к созданию таблиц. Хотя не исключаю, что у вас оно уже давно в используется в проде)
📖Свой перевод статьи (уже по традиции) опубликовал тут.
7 973
Какое там разрешение у iPhone 13 Pro Max?
Если вы иногда забываете, какие скриншоты нужны для App Store или ваш дизайнер, например, спрашивает, какое разрешение у Apple Watch, чтобы реализовать новое приложение, то могу порекомендовать крутой ресурс со сравнением девайсов по огромному количеству характеристик.
Устройства
iPhone, iPad, iPod Touch, Apple Watch, Apple TV.
В общем, достаточно один раз взглянуть, чтобы сохранить себе в закладки.
Кстати, тут есть наглядное сравнение, на каком девайсе какая максимальная ось, что может быть полезно, если вы поддерживаете широкую линейку устройств.
7 973
Всё, что нужно знать об утечках памяти
В статье c громким названием автор старается ответить на следующие вопросы.
— Что такое утечка памяти в iOS?
— Почему происходит утечка памяти?
— Из-за чего ARC не может освободить память?
— Утечки памяти в closure?
— Возможные решения.
— Некоторые особые сценарии (утечки памяти в синглтонах и статических классах).
— Closures без эскейпинга.
— Разница между weak и unowned памятью.
— Идентификация утечек с помощью отладчика.
— Некоторые правила.
👏 1.1K
7 973
Ресурс, на котором можно сравнить среднее время проверки приложений
Иногда можно заглядывать на эту страницу, если вдруг появится вопрос, неужели у всех так долго? Или, например, а они вообще проверяют сейчас?
Сами же Apple заявляют, что в среднем 50% приложений рассматриваются в течение 24 часов, а более 90% - в течение 48 часов. Если ваша заявка неполная, время рассмотрения может еще больше затянуться или ваше приложение может быть отклонено.
Но мы можем и сами проверить!
7 973
Сегодня суббота, поэтому поделюсь с вами историей о разработке, напрямую связанной с iPhone.
Возможно ли, что 26-летний программист за 2 года создаст приложение стоимостью в миллиард долларов?
Этот человек закончил Стэнфорд и принял оффер от Google на одну из самых низкооплачиваемых должностей. Маркетинговый отдел не то чтобы предел мечтаний для технаря, но ради этой работы он отклонил целый ряд предложений от различных стартапов.
Он говорил потом, что ему не была важна должность, главное было попасть в Google.
Он работал в отделе корпоративного развития. На этой должности нужно было постоянно общаться с предпринимателями. Сама же роль в Google заключалась в том, чтобы помогать покупать компании.
В 2008 году экономика пришла в упадок. Его босс посоветовал просто пойти поиграть в гольф, поскольку они больше не собирались покупать компании. И в итоге наш герой покинул Google расстроенным.
Он хотел что-то создать, но не знал, что именно. Он задался вопросом, как сделать лучшую версию другого приложения Foursquare. Затем к нему присоединился ещё один человек, и уже вместе они решили создать что-то интересное и забавное. Но когда они зарелизили первую версию, оказалось, что пользователи посчитали приложение вторичным и неинтересным.
Люди хотели делиться тем, что они делают и тем, где они находятся в любой момент времени, и наши герои всерьёз ухватились за эту идею.
🛠 Команда нового приложения использовала Objective-C, и делала приложение только для iPhone. Они также использовали Python и Django для всей внутренней работы, Postgres и MySql для работы с базами данных.
Ну что, вы уже догадались, о ком я хотел рассказать?
Да, этими героями были Кевин Систром и Майк Кригер и в тот момент они начали работать над Instagram. А уже через пару лет лет Facebook купил Instagram за 1 миллиард долларов.
7 973
В этом канале я также планирую делиться качественными опенсорсными решениями.
Сегодня вашему вниманию две либы для создания графиков (диаграмм и так далее).
Charts (CocoaPods/Carthage/Swift Package Manager)
⭐️ 25.2k
SwiftUICharts (SPM - минимальная версия Xcode 11 и iOS 13)
⭐️ 4.2k
7 973
Туториал по Core Data
Как признаётся автор, его основная цель заключается в том, чтобы показать, как Core Data работает под капотом, а не в решении какой-то конкретной задачи.
Реализация инкрементных и атомарных хранилищ - одна из увлекательных тем, которые необходимо изучить при погружении в Core Data.
Это отличная возможность расширить свое видение на разработку iOS и посмотреть со стороны, например, в роли создателя фреймворка.
7 973
Невероятная жизнь Уолтера Митти (2013)
Рубрика #whattosee
Уолтер Митти — сотрудник отдела иллюстраций журнала Life. Его работа — сплошная рутина, хотя в своих мечтах он уносится очень далеко. В присланных фотографом Шоном О’Коннелом негативах для обложки журнала не хватает одного кадра. Единственный шанс получить фотографию — найти самого Шона. И Уолтер отправляется в долгое путешествие.
При чем тут IT?
Всем полезно иногда выходить из плоскости, чтобы найти решение.
7 973
Краткая инструкция для навигации по строке терминала, если вам понадобилось поменять символ
Чтобы не стирать всю строку целиком, или долго нажимать клавиши влево или вправо, перенесите курсор в то место, где нужно поменять, а затем нажмите OPTION + Click
7 973
Пятничный туториал
Многие из нас делали змейку в универе или в качестве эксперимента. Но делали ли вы её, используя SwiftUI?
Mark Lucking, к слову, не только сделал, но и поделился шагами для реализации. Что у него получилось - можно прочесть здесь.
При этом он цитирует Конфуция, который не был программистом:
Скажи мне, и я забуду;
Покажи мне, и я запомню;
Сделай вместе со мной, и я пойму.
🛠 Код, который Марк разрешает использовать для своей собственной змейки — можно посмотреть по этой ссылке.
7 973
Обновление приложения Apple Developer
Теперь можно будет использовать приложение Apple Developer iOS и iPadOS для продления своего аккаунта в программе Apple Developer Program, если сама регистрация была через web. Продление аккаунта будет осуществляться в виде автоматически возобновляемой подписки с поддержкой многих местных валют и способов оплаты.
P.S. Вероятнее всего, можно будет платить мобильным счётом, что в текущих условиях кажется выходом.🤔
7 973
Когда шутка вышла из-под контроля
Первого апреля завирусилась история, что Apple якобы выпускает сканер отпечатка пальца Touch ID отдельно.
🛠 А один из пользователей взял да и сделал собственный аксессуар.
Для этого ему, правда, пришлось разобрать клавиатуру Magic Keyboard, а затем, убрав все элементы - соединить сам сканер с оригинальной платой.
Но оно того стоило, а сам результат пусть и не в фирменном дизайне, можно посмотреть на фото 😉
7 973
Структурированный параллелизм (structured concurrency) в Swift
Пообщался в твиттере с Тайбором (Tibor Bödecs), который ведёт свой блог о разработке и пишет полезные статьи. И решил поделиться с вами одной из них.
Верю, что у вас найдется время и возможность её прочесть и вынести для себя что-то полезное.
Прочитать статью по традиции можно тут.
