Рубрика «iOS»

Введение

Межпроцессное взаимодействие в iOS - штука хитрая. Apple выстроила целую систему песочниц и ограничений, и просто так передать данные из одного приложения в другое не получится. Зато когда разберёшься, открывается масса возможностей: от банальной передачи изображений до выстраивания целых экосистем приложений. Давай разберем все основные способы обмена данными между приложениями (от URL Schemes до App Groups) с акцентом на безопасность и реальные проблемы, которые могут возникнуть. Покажу код, расскажу, где какой метод уместен, и объясню, как не наделать дыр в защите данных пользователя.

URL Schemes: простота с подвохом

Читать полностью »

Введение

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

  • Подключение к Firebase проекту, где ваше приложение не зарегистрировано

  • Переключение между средами: Development и Production

  • Миграция данных между разными Firebase проектами

  • Использование разных проектов для разных функциональных модулей

В этой статье мы глубоко погрузимся в технические детали работы с Firebase и рассмотрим:

  1. Читать полностью »

В этой статье расскажу о скриншот-тестировании iOS-приложений. Разберём одну из ключевых проблем, с которой сталкиваются проекты при работе с тестами, посмотрим, на чём основано сравнение изображений в современных open-source инструментах и поймём, почему всё сложнее, чем может показаться на первый взгляд. Также попробуем разобраться, как можно выйти за рамки существующих ограничений с помощью AFSnapshotTesting и параллельных вычислений на Metal.

1. Нестабильность тестов

Идея скриншот-тестирования проста: это рендер изображения вашего UIViewЧитать полностью »

Это статья из официального блога OpenAI, но подход меня так зацепил, что решил перевести для всех. Я тоже часто переношу веб-приложения на мобилки примерно таким же способом и было очень здорово увидеть такой же подход (архитектура-как-пример) у по сути создателей сильного AI. Пишу про разные похожие интересные вещи тут

В ноябре мы представили миру приложение Sora для Android, предоставив любому пользователю с Android-устройством возможность превращать короткие текстовые промпты в живые видео. В день запуска приложение заняло 1-е место в Play StoreЧитать полностью »

Почему ваш сайт ломается, когда его трогают пальцем - 1

В жизни каждого фронтендера наступает момент, когда приходится перейти от родного привычного десктопа на разработку мобильной версии веб-приложения или даже начать работать над mobile-first решением, или еще страшнее — PWA-приложением.

Читать полностью »

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

В этой статье автор делится ошибками и «особенностями» Xcode, которые больше всего его раздражают. Главный совет: держитесь подальше от этой IDE и всегда ищите альтернативы.

Читать полностью »

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

1. Генерация кода

  • AI-ассистенты по написанию кода , такие как GitHub Copilot, Amazon CodeWhisperer, Tabnine и др., помогают разработчикам:

    • Автоматически генерировать функции.

    • Заполнять шаблоны.

    • Предлагать варианты завершения кода.

  • Обучены

2. Тестирование и отладка

Несмотря на то, что использование Optional самая настоящая рутина для любого iOS-разработчика, в тонкости реализации этого механизма мы погружаемся только при первом знакомстве с языком. Предлагаю чуть углубиться, чтобы уверенно говорить на эту тему с коллегой или интервьюером.

Так как мы знаем (верю в вас), что Optional представляет собой перечисление с двумя кейсами, в одном из которых лежит ассоциированное значение, сразу напишем простую реализацию.

enum MyOptional<T> {
    case none
    case some(T)
}

ТЧитать полностью »

Куда подевалось легендарное внимание Apple к деталям? - 1

Для меня бренд Apple всегда был синонимом внимания к деталям, но, к сожалению, в последние 8-10 лет решения компании на них совершенно не ориентированы.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js