iOS Dev
7.72K subscribers
1K photos
84 videos
1 file
1.16K links
🍏Канал об iOS-разработке, необычных подходах и решениях.
👨‍💻Автор: Виктор Грушевский (@Viktorianec)
Темы:
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Код. Много кода.

⚒️База знаний: https://boosty.to/ios_dev

#ios #mobile #swift
加入频道
Сравнение системных настроек на Mac 1984 года с современнным интерфейсом.

😳Это не уменьшенная картинка, это её реальный размер пиксель-в-пиксель.
🤩15👍6😱3🤔1
Написал о примере использования Network для отслеживания сетевого соединения

😉А ещё там можно найти вариант для использования Network Link Conditioner на маке.

🤔Наверное, пора уж наконец избавиться от Reachability в некоторых проектах.
👍7🔥3👏1
Работа с файлами конфигурации Xcode

🛠 Узнайте, как управлять различными окружениями iOS с помощью файлов .xcconfig.

В прошлом руководстве можно ознакомиться со способом, использующим вкладку настроек Xcode для сборок develop, staging и release в нашем iOS-приложении.

В этой статье рассматривается альтернативный способ достижения тех же результатов — с помощью файлов конфигурации Xcode .xcconfig.

📖 Давайте почитаем.
👍8🔥2
Разобрал структуру Swift Package.

Не исключаю, что многие уже несколько раз их создавали по тем или иным причинам.

🛠 Хочу верить, что остальным этот разбор может пригодиться или покажется любопытным.
👍81🔥1
iOS Dev
Всё, что нужно знать об утечках памяти В статье c громким названием автор старается ответить на следующие вопросы. — Что такое утечка памяти в iOS? — Почему происходит утечка памяти? — Из-за чего ARC не может освободить память? — Утечки памяти в closure?…
Ещё один материал про поиск утечек памяти

Тема остаётся актуальной и сложной, поэтому по возможности продолжу делиться с вами найденной информацией.

В статье Vitor рассказывает не об одной, а сразу о трёх техниках для поиска утечек в iOS. Что ж, что-то из этого точно стоит взять на заметку!

👏 212
👏11👍4🔥2
Как добавлять и обрабатывать действия для push и local notifications в iOS

Вероятно, вы знаете, что многие приложения предоставляют такую опцию для своих уведомлений.

💻 Делюсь с вами способом, как создавать такие действия для своих проектов.

😉Кстати, ранее писал о способе тестирования пуш-уведомлений на симуляторе.
🔥4👍3👏21
Как подключиться к Wi-Fi в iOS с помощью Swift?

🛠 Для этого нужно добавить немного capabilities. Это "Hotspot Configuration" и "Network Extensions".

В коде мы создаём экземпляр нашего конфига, а затем подключаемся. Должен быть показан системный диалог, после которого и произойдет подключение. Иногда может занять несколько секунд.

#интересное
👍11🔥5🤩5
Ранее публиковал результаты исследования зарплат для iOS-разработчиков в РФ.

Сегодня прочитал о похожем отчёте в другом мире. Решил поделиться с вами структурированными цифрами по данным сайтов PayScale, Glassdoor, ZipRecruiter и Indeed.

А больше деталей, в том числе и по начальным зарплатам при входе в профессию, можно прочесть здесь.
🔥11👍2😱1
Три золотых правила для weak self

🙈 A strong-retained self не всегда retain cycle.

🐵 A weakly retained self никогда не будет retain cycle.

🙉 Обновите self до strong в верхней части замыканий для избежания странного поведения.

Chris Downie в своём разборе показывает, почему это действительно так на примерах.

Эти правила могут повторяться, но они приведут к более безопасному коду, о котором гораздо легче рассуждать.

😉А ещё эти правила проще заретейнить, бррр, простите, запомнить.
🔥13👍71🤩1
Сохранение конфиденциальных данных с помощью кейчейна в Swift

При разработке приложений для iOS часто возникает необходимость хранить конфиденциальные данные (пароль, токены, секретные ключи и т.д.) локально.

Для начинающих разработчиков первое, что приходит на ум, это хранить их с помощью UserDefaults. Однако, как мы все знаем, хранение конфиденциальных данных с помощью UserDefaults - очень плохая идея, потому что данные, хранящиеся с помощью UserDefaults, не шифруются и крайне небезопасны.

🏦 Для безопасного хранения конфиденциальных данных локально, мы должны использовать keychain (связку ключей), предоставляемую Apple. Это довольно старый фреймворк, поэтому, как вы увидите позже, его API недостаточно Swifty, как у других современных фреймворков Apple.

📖 В этой статье рассказывается, как создать универсальный хелпер, работающий как в iOS, так и в macOS, который сохраняет, обновляет, читает и удаляет данные с помощью keychain.
👍8🔥3👏1
Анализ HTTP-трафика с помощью стандартных инструментов Xcode

👨‍🎓 На прошлогоднем WWDC было множество полезных сессий, одна из недооценённых — объяснение работы с инструментом по анализу трафика.

Michael Abadi Santoso кратко сформулировал принципы для использования Instruments Network для записи и анализа HTTP-трафика вашего приложения.

Вот тут рассказывается, как исследовать и визуализировать поведение сеансов, задач и отдельных HTTP-запросов, чтобы обеспечить эффективную передачу данных и соблюдение конфиденциальности.

💻 Но можно и посмотреть картинки.
👏8👍6🔥1
А может ну его всё, и в TikTok пойти?

🛠 Ладно-ладно, у нас технический канал, а вы о чём подумали?

Вот вам история о том, какие вопросы могут задать в крупных компаниях на собеседовании. Например, в TikTok. Пусть и не с хэппи-эндом, но история любопытная.

Кандидат прошёл два интервью по Zoom, каждое по 45 минут — в течение одной недели.

Первый этап состоял из двух частей.

- Термины iOS.
- Что нового в мажорной версии? На момент собеседования интервьюер хотел услышать про виджеты.
- Попросили оптимизировать небольшой участок кода.
- Спросили про разницу setNeedsLayout, layoutIfNeeded, layoutSubview.
- Проверили знание того, как найти краши при нехватке памяти без использования Crashlytics.

Во второй части попросили решить задачу, которая на скриншоте.

Второй этап

Целиком и полностью был посвящен проектированию. А также спросили про самый жёсткий баг, на поиски которого ушло больше всего времени.

📖 В конце статьи автор делится советами, как пройти собеседование, или хотя бы повысить шансы на успех.
🔥10👍72