Получи случайную криптовалюту за регистрацию!

iOS Dev

Логотип телеграм канала @ios_career — iOS Dev I
Логотип телеграм канала @ios_career — iOS Dev
Адрес канала: @ios_career
Категории: Технологии
Язык: Русский
Количество подписчиков: 5.08K
Описание канала:

🍏Канал об iOS-разработке, необычных подходах и решениях.
⭐️ Подготовка к собеседованиям.
⭐️ Архитектуры и алгоритмы.
⭐️ Статьи, обновления Swift и iOS.
⭐️ Код. Много кода.
👨‍💻Любые вопросы:
Виктор Грушевский (@Viktorianec)
#ios #mobile #swift

Рейтинги и Отзывы

2.50

2 отзыва

Оценить канал ios_career и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

0

1 звезд

1


Последние сообщения

2022-09-01 10:15:17 Почему размер иконок в первых айфонах стал именно таким, каким мы его знаем?

Вопрос, о котором вы, возможно, никогда не задумывались — тревожил программистов из проекта Purple в далёком 2005 году. Под этим названием скрывалась сверхсекретная разработка в коридорах компании Apple, а её сотрудники работали над самыми разными приложениями: почтой, Safari, Заметками и Springboard.

Несмотря на то, что разработчики пытались решить собственные технические сложности, вскоре они начали задавать друг другу вопросы, насколько же большим должен быть объект на экране разрабатываемого устройства, чтобы по нему можно было попадать пальцем?

В команде был Скотт Форстал, которому всё давалось легко и своими гибкими пальцами он очень просто попадал по абсолютно любым целям на экране, но ведь было множество и других людей. Как, например, Грег Кристи, который в случае непопадания издавал невольный вздох в стиле истинного нью-йоркца.

Вскоре Скотт Херц нашёл ответ

Для этого он написал приложение и дал попробовать его своей команде.

После запуска в этом приложении появлялась крупная кнопка Start. А после нажатия на неё экран на мгновение становился пустым, а потом в каком-то случайном месте появлялся прямоугольник. И по нему нужно было попасть пальцем.

Когда вы нажали, в независимости от того, попали вы или нет, где-то на экране появлялся другой прямоугольник. Необязательно меньше, просто другой. И надо было попасть уже не этой фигуре, а затем ещё раз, и ещё раз, и ещё.

Примерно после двадцати нажатий игра заканчивалась.

Всё это время в логах ПО отслеживало нажатия, размер прямоугольников и их положение.

Поскольку в приложение было весело играть, то оно очень быстро разошлось среди сотрудников Purple и количество логов росло в геометрической прогрессии.

В течение следующих нескольких дней собиралась информация о «целях» и результатах попаданий.

Что получилось?

Результаты игры Скотта показали, что если разместить цель в квадрате со стороной пятьдесят семь пикселей, то она может быть где угодно — слева, справа, снизу или сверху. И каждый почти со 100% вероятностью сможет по ней попасть.

Эта игра и дала проекту Purple ответ, который они искали:

Ярлыки на первом iPhone являются квадратами со стороной в 57 пикселей.

В этом посте я показал только один из путей к появлению крутых вещей на основе книги "Творческий отбор. Как создавались лучшие продукты Apple во времена Стива Джобса" за авторством Кена Косиенды.

@iOS Dev — маякните как-нибудь с помощью или , если такая инфа кажется интересной
946 views07:15
Открыть/Комментировать
2022-08-31 09:48:21
Создание виджетов для приложений iOS с помощью WidgetKit и SwiftUI

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

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

Кроме этого, они поддерживают несколько размеров и создаются с использованием SwiftUI.

В статье рассказывается о создании одного из таких виджетов.

Дополнение

Если вы откладываете перевод своего приложения на SwiftUI по тем или иным причинам (или вам просто лень перепиливать, например, свои проекты), то на мой взгляд, идея добавить виджет вполне неплохая.

От простого к сложному, почему бы и нет

@iOS Dev
1.3K views06:48
Открыть/Комментировать
2022-08-30 17:58:59 Как изменить стандартный заголовок при создании файлов в Xcode?

Написал руководство, которое даст ответ на этот вопрос.

@iOS Dev
1.5K views14:58
Открыть/Комментировать
2022-08-30 09:27:36
Доступность в iOS — определение и примеры
Из этого руководства по специальным возможностям iOS вы узнаете, как сделать приложения более доступными

С помощью этого материала вы измените существующее приложение, чтобы сделать его более доступным для людей с ограниченными возможностями зрения.

В процессе вы пройдёте следующие основные этапы и узнаете как:

Использовать VoiceOver.

Проверять свое приложение с помощью Accessibility Inspector.

Внедрять элементы доступности с помощью UIKit.

Создавать положительный пользовательский опыт для людей с ограниченными возможностями.

Важный момент!

В ru-сообществе Михаил Рубанов (iOS Mobile Head в Dodo) продолжительное время изучает, развивает и адаптирует свои приложения, и, что более важно, даже написал книгу:

Про доступность в iOS (книга бесплатная и доступна всем желающим).

А в настоящее время создаёт полезный для сообщества проект VoiceOverDesigner (которому вы можете помочь, закрыв некоторые из задач и внеся своё имя в развитие проекта).

@iOS Dev
967 viewsedited  06:27
Открыть/Комментировать
2022-08-29 12:26:03 Итак, молодцы те, кто выбрал Navi в представленном выше опросе. А вот немного интересных фактов:

Objective-J — язык программирования, разрабатываемый как часть Cappuccino — фреймворка для веб-приложений. Его синтаксис почти полностью идентичен синтаксису Objective-C. Objective-J относится к JavaScript так же, как Objective-C к языку программирования C: является его строгим, но компактным надмножеством.

Var'aq — эзотерический язык программирования, созданный Брайеном Коннорсом и Крисом Прессей в 2000 году и использующий грамматическую структуру языка Клингонов из сериала Star Trek. Представляет собой язык стек-ориентированного программирования, основанный на PostScript'e, с аспектами Lisp'a (для использования структур данных).

D — мультипарадигмальный статически типизированный компилируемый язык программирования, созданный Уолтером Брайтом из компании Digital Mars.

А вот для Navi пока языка программирования не придумали (хотя для фильма Аватар сам язык используют).

И кстати, кто выбрал Swift?!

@iOS Dev — пытаюсь рассказать что-то новое
1.6K viewsedited  09:26
Открыть/Комментировать
2022-08-29 12:21:58
Какого языка программирования не существует?
Anonymous Quiz
1%
C
16%
D
3%
Swift
1%
Objective-C
44%
Objective-J
8%
Var'aq
28%
Navi
886 voters1.6K views09:21
Открыть/Комментировать
2022-08-29 09:16:29 Что означает EXC_BAD_ACCESS?

Вероятнее всего, однажды вы столкнетесь (а скорее всего, уже сталкивались) с крашем, вызванным EXC_BAD_ACCESS. Так что же это на самом деле?

Всякий раз, когда вы встречаете EXC_BAD_ACCESS, это означает, что вы отправляете сообщение объекту, который уже был освобожден. Это самый распространенный сценарий, но есть и другие.

Техническое объяснение сложнее

В нашей работе мы постоянно имеем дело с указателями.
Указатель — это не что иное, как переменная, в которой хранится адрес памяти другой переменной.

Когда вы отправляете сообщение объекту, указатель, который указывает на объект, которому вы отправляете сообщение, должен быть разыменован (dereferenced). Это означает, что вы берете адрес памяти, на который указывает указатель, и получаете доступ к значению этого блока памяти.

Когда этот блок памяти больше не задействован для вашего приложения или, другими словами, этот блок памяти не используется для того, для чего вы думаете, доступ к этому участку (фрагменту) памяти больше невозможен.

Когда это происходит, ядро ​​отправляет исключение (EXC), указывающее, что ваше приложение не может получить доступ к этому блоку памяти (тот самый BAD_ACCESS).

Таким образом, когда вы сталкиваетесь с EXC_BAD_ACCESS, это означает, что вы пытаетесь отправить сообщение в блок памяти, который не может выполнить это сообщение.

Однако в некоторых случаях EXC_BAD_ACCESS вызван поврежденным указателем. Всякий раз, когда ваше приложение пытается разыменовать поврежденный указатель, ядро ​​выдаёт исключение.

Основные причины для EXC_BAD_ACCESS

Использование памяти, которая была освобождена.

Попытка записи за конец массива или буфера другого типа.

Использование указателя, который не был инициализирован.

Что почитать на эту тему?

Debugging EXC_BAD_ACCESS

EXC_BAD_ACCESS crash error: Understanding and solving it

@iOS Dev — о том, что мы иногда можем встретить
1.6K views06:16
Открыть/Комментировать
2022-08-27 13:39:29
Повторяем красоту с помощью эффекта увеличения в SwiftUI на практике!

Если помните этот пост, то скорее всего вы задумывались о способах реализации.

Время пришло! Для этого появился туториал.

А для тех, кто не хочет смотреть видео, я даже сделал секретный gist (только для читателей нашего канала).

@iOS Dev— делюсь реализацией крутых эффектов
1.6K viewsedited  10:39
Открыть/Комментировать
2022-08-27 11:42:41
Что такое Thread Sanitizer и при чём тут гонки данных в Swift?

Thread Sanitizer, также известный как TSan — это инструмент на базе LLVM для изучения проблем с потоками в вашем коде, написанном на языках Swift и C. Он был впервые представлен в Xcode 8 и может стать отличным инструментом для поиска менее заметных ошибок в коде, например, гонок данных.

Автор этой статьи делится, как Thread Sanitizer помог решить проблемы с нестабильными тестами и странными сбоями, в которых не получалось точно определить причину.

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

В материале затрагиваются важные темы:

Что такое гонки данных (data races).

Примеры гонки данных в Swift.

Использование Thread Sanitizer для обнаружения гонок данных.

Ограничения для Thread Sanitizer.

Подходы к решению гонки данных. Также стоит обратить внимание на эту статью и этот пост.

@iOS Dev
1.5K views08:42
Открыть/Комментировать
2022-08-26 11:41:25
Разница между Thread.sleep() и Task.sleep()
Сделал наглядную табличку для предыдущего поста, примеры можно посмотреть здесь

@iOS Dev
1.6K viewsedited  08:41
Открыть/Комментировать