Рубрика «разработка под iOS»

Недавно я столкнулся с приложением, которое:

  1. Блокирует прикрепление к нему отладчиков.
  2. Выполняет преждевременный выход при попытках инъецирования кода.
  3. Приводит к вылету телефона целиком, если запустить её со включённым джейлбрейком (!).

По последнему пункту: кто вообще так делает???

Всё, что мы делаем (например, выполняем моддинг TikTok, чтобы он показывал только видео с котиками, или устраняем торможения в чужих приложениях), требует возможности исследования работы приложения.

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

Похоже, это приложение стало на удивление интересной комбинацией всего перечисленного.

Намного более сложной, чем можно было бы ожидать от обычного старого виджет-приложения.Читать полностью »

Apple всё равно взимает с разработчиков платеж в 99 $, даже если они не хотят размещать свой приложение на Appstore.

Создание приложений – одно из моих увлечений. Часто эти приложения выполняют какую-то задачу, которая актуальна только для меня. Например, два года назад я написал приложение на Android и связал его со своим кастомным сенсором для почвы, чтобы получать уведомления о том, что мое комнатное растение нуждается в поливе.

В этом году я начал изучать BLE при помощи микроконтроллера Nordic NRF52. Мне захотелось создать приложение-компаньона для iPhone, которое выводило бы мне показания сенсора. Всё это затевалось исключительно для личного употребления и самообразования; я не предполагал, что приложением будет пользоваться кто-то, кроме меня.

К моему разочарованию, спустя неделю после загрузки приложения на айфон оно перестало открываться!
Читать полностью »

Упрощаем разработку на React Native: чем полезен CocoaPods? - 1

В МойОфис мы создаем продукты для совместной работы и делового общения. В том числе стремимся делать так, чтобы доступ к корпоративной коммуникации был максимально удобным для пользователя. Большинство наших решений — от редакторов документов и почтовых систем до цифрового рабочего пространства Squadus — представлены, помимо десктопа и веба, на основных мобильных платформах.

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

Промпт: Иконка языка программирования swift на черном фоне

Промпт: Иконка языка программирования swift на черном фоне

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

Что вы знаете о том, как добавить поддержку языков, которые пишутся справа налево (Right to Left, RTL), в iOS‑приложение? Нужно использовать leading и trailing вместо left и right, а ещё… Вот и мы больше ничего не знали, но пришлось разобраться.

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

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

Фича = задача и далее по тексту :-)

Что есть задача для разработчика?  

Как правило, разработка получает от продакт-менеджера техническое задание на разработку новой или исправление старой функциональности. Например, это выражено в виде PRD, который может содержать ссылки на Figma, список требований, ссылки и прочие полезности, необходимые для реализации задумки. Исходя из этих входных данных, разработчики могут имплементировать задачу и отдать на тестирование в QA команду. По завершению этих циклов задача готова к релизу.  

После разработки

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

Ну что, я же обещал сюрприз к новому году, хотя и переживал, что мы можем не успеть пройти ревью. Об этом знают даже не все мои коллеги, так как всю работу мы держали в секрете — вы узнаёте в числе первых!

UPD: на iOS тоже прошли ревью!

Приложение Хабра для Android и iOS - 1

Впервые приложение Хабра появилосьЧитать полностью »

Разработка iOS приложения - процесс достаточно долгий и скрупулезный, и часто бывают ситуации, особенно в больших проектах, когда код у разработчика на устройстве и у конечного пользователя должен выдавать разные результаты. Это может показаться немного абсурдным, но я сейчас все объясню.

User-Defined в iOS проекте - 1

Используется:

  • Swift 5

  • Xcode 13.4.1

Вступление

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

Привет! Сегодня Яндекс выкладывает в опенсорс DivKit — фреймворк для отрисовки интерфейсов из ответа сервера. Серверная вёрстка поможет ускорить разработку: наладить отправку апдейтов от сервера разным версиям приложения, создать прототип или просто написать интерфейс один раз для нескольких платформ.

Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом - 1

Фреймворк включает в себя несколько библиотек: клиентскую часть по отрисовке интерфейсов для Android, iOS и веба, а также DSL для формирования ответа сервера на Kotlin, TypeScript и Python. Исходный код опубликован на Гитхабе под лицензией Apache 2.0.

Сейчас DivKit используется в приложении Яндекс, Алисе, Едадиле, Маркете, ТВ и других приложениях. В этом посте я постараюсь вспомнить историю фреймворка, затем мы напишем с его помощью небольшой просмотрщик ленты Хабра, а в конце я покажу ещё несколько простых примеров интеграции.
Читать полностью »

Вы когда-нибудь задумывались над тем, как компилятор понимает, какую функцию и откуда вызвать? Постараемся разобраться.

Что такое Method Dispatch?

Method Dispatch - это алгоритм, который решает, какой метод должен вызываться в ответ на сообщение. Его цель заключается в том, чтобы проинформировать процессор о том, где он может найти код для вызова метода в памяти.

Swift имеет три типа method dispatch:

  1. Static Dispatch

  2. Table Dispatch

  3. Message Dispatch

В чем отличие разных типов диспетчеризации?

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


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