Все потоки
Поиск
Написать публикацию
Обновить
58.7

iOS *

Мобильная ОС компании Apple

Сначала показывать
Порог рейтинга
Уровень сложности

Три способа общения через WatchConnectivity

Время на прочтение5 мин
Количество просмотров1.6K

Продолжая свое путешествие с watchOS, я хочу выделить различные методы, которые у нас есть для связи между устройствами iPhone и Apple Watch. В течение последних недель я глубоко погрузился в WatchConnectivity и то, как его можно использовать для обмена данными. Этот пост должен дать обзор моих выводов и помочь выбрать правильный метод для данного варианта использования.

Читать далее

Как устроена бесшовная авторизация в онлайн-кинотеатре

Время на прочтение5 мин
Количество просмотров3.8K

Привет, Хабр! На связи Ваня Семенков из МТС Digital и команда продукта МТС ID, мы отвечаем за продуктовую вертикаль авторизации в онлайн‑кинотеатре KION. Наша цель — увеличивать% авторизованных пользователей, поэтому в этой статье мы расскажем, какие способы авторизации применяются в KION, разберем их плюсы и минусы, заглянем «под капот». А еще поговорим о том, как бесшовная авторизация повлияла на воронку C0.

Читать далее

Разработка iOS Framework в унисон с помощью Swift и Objective-C

Время на прочтение11 мин
Количество просмотров1.9K

Прошло много времени с тех пор, как язык программирования Swift был представлен на WWDC в 2014 году. С тех пор внедрение Swift сторонними разработчиками, безусловно, было массовым. Тем не менее, Objective-C всё ещё существует.

В этом посте мы предоставим несколько советов и приёмов для успешной разработки XCFrameworks (новые способы упаковки и поставки библиотек в различных вариантах). XCFrameworks сочетают Swift и Objective-C таким образом, чтобы совместимость языков не ставила под угрозу публичные API-интерфейсы фреймворка и не влияла на них.

Читать далее

Поиск callback-ов кнопок в рантайме iOS

Время на прочтение9 мин
Количество просмотров1.7K

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


В данной статье будет рассказано как узнать какой callback будет вызван при нажатие кнопки в интерфейсе iOS приложения с использованием фреймворка frida.


Также я думаю эта статья будет полезна тем разработчикам на iOS кто хочет знать как работает внурянка cllaback-ов графических элементов.


Для нетерпеливых конечный скрипт тут.

Читать дальше →

Как ускорить разработку и тестирование в SwiftUI с помощью PreviewSnapshots

Время на прочтение8 мин
Количество просмотров1.8K

Как ускорить разработку и тестирование в SwiftUI с помощью PreviewSnapshots.

Одной из замечательных особенностей разработки в SwiftUI является Xcode Previews, которые обеспечивают быструю UI‑итерацию путем визуализации изменений кода в режиме реального времени наряду с кодом SwiftUI. 

Читать далее

Настройте 3D-шахматную доску с помощью SwiftUI и RealityKit

Время на прочтение6 мин
Количество просмотров1.2K

Использование фреймворков SwiftUI, RealityKit, ARKit и Multipeer

Я провел большую часть этого года (2022), изучая SceneKit. Путешествие, которое я задокументировал почти двумя дюжинами статей на эту тему, вы найдёте здесь, на Medium. Изучив большинство элементов в SceneKit, я решил перейти на RealityKit/ARKit в 2023 году.

Я не был уверен, с чего начать, поэтому я смотрел последние презентации WWDC2022 на ARKit, а затем на RealityKit, ну и — это не помогло. Я посмотрел, что было вначале, а затем самый ранний WWDC.

Читать далее

Мобильная разработка за неделю #473 (23 — 29 января)

Время на прочтение4 мин
Количество просмотров2.3K
Наш новый дайджест для разработчиков мобильных приложений! В нем про человеческий фактор в Swift и доступность, функциональное мышление и новый Logcat, новинки Flutter, умные тесты, разработку магазинов и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Минимизируем человеческий фактор в Swift

Время на прочтение13 мин
Количество просмотров4.2K

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

Читать далее

Яндекс Карты и React Native. Часть 2. HUD и методы карты

Время на прочтение5 мин
Количество просмотров4.9K

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

Читать далее

Яндекс Карты и React Native. Часть 1. Установка и примитивы

Время на прочтение6 мин
Количество просмотров15K

Yandex Maps SDK: использование в React Native-приложении

В этой статье расскажу о том, как я лично столкнулся с Yandex Maps SDK для React Native и опишу базовый инструментарий, который предоставляет эта библиотека с небольшими примерами.

Читать далее

Использование Makefiles для проектов Swift

Время на прочтение3 мин
Количество просмотров1.5K

Использование Makefiles для проектов Swift

Make — это программное обеспечение для автоматизации сборки, которое можно использовать для автоматического выполнения различных команд. Если вы хотите что-то запустить, вам нужно указать свои команды (точнее: цели сборки) через Makefiles. В этом кратком туториале я покажу вам некоторые из моих лучших приемов для проектов на Swift. ?

Читать далее

Когда вам нужно сообщить об использовании шифрования вашим приложением?

Время на прочтение4 мин
Количество просмотров2.2K

Когда вам нужно сообщить об использовании шифрования вашим приложением?

Ваше приложение использует шифрование? - Это первое, что вы прочтете после нажатия кнопки «Отправить на проверку» в App Store Connect. На этот вопрос довольно легко ответить, но после того, как вы ответите на него, вы получите уведомление о том, что вам необходимо представить отчет о самоклассификации на конец года.

Читать далее

Нельзя просто так взять и написать полезный iOS фреймворк… Или можно?

Время на прочтение12 мин
Количество просмотров2.1K

Нельзя просто так взять и написать полезный iOS фреймворк... Или все-таки можно?

Привет, Хабровчане!

Меня зовут Дмитрий Новиков, я – разработчик департамента разработки корпоративных решений в IBS. Мы в компании занимаемся разработкой мобильных приложений на заказ и хотим рассказать, как мы пришли к идее создания собственного iOS фреймворка для решения ряда полезных в мобильной разработке задач, а также что у нас в итоге из этого получилось.

Интересно? Читайте статью под катом!

Ближайшие события

Combine: часть 1. Погружение в реактивное программирование

Время на прочтение10 мин
Количество просмотров20K

Привет, Хабр! Меня зовут Сергей, я iOS-разработчик в компании SimbirSoft.

Уже наступил 2023 год, а обсуждения на тему выбора инструмента для обработки асинхронных событий не утихают. На сцене привычные колбэки, нотификейшн-центры с «бородатыми» Objective-C-селекторами, разные фреймворки для реактивной разработки, а не так давно Apple представила модный Swift Concurrency.

Combine все больше набирает популярность в продакшене. За счет нативного происхождения у него хороший уровень оптимизации, его легко «склеивать» как с существующими легаси-инструментами, так и с новыми — SwiftUI или async/await.

Пестрый «зоопарк» заставляет задуматься: что выбрать для нового проекта, а что для приложения с многолетней историей?

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

Это первая часть статьи, где мы познакомимся с Combine, сравним его с RxSwift. Материал будет полезен для тех, кто до этого не сталкивался с реактивщиной, а также тем, кто успел поработать с аналогичными инструментами.

Читать далее

Как создать виджет экрана блокировки в iOS?

Время на прочтение5 мин
Количество просмотров2.8K

В iOS 16 Apple провела масштабную модернизацию Экран Блокировки. Одной из самых ожидаемых функций, которая появилась вместе с обновлением, - виджеты Экрана Блокировки. Как следует из названия, виджеты Экрана Блокировки — это виджеты, отображающие легко просматриваемый контент, который постоянно виден на экране блокировки iPhone и iPad.

Поскольку и виджеты Главного Экрана, и виджеты Экрана Блокировки работают на WidgetKit, способ создания виджета Экран Блокировки очень похож на то, как мы создаем виджеты Главного Экрана. Поэтому в этой статье я не буду показывать вам, как настроить и создать виджет с нуля, как это было описано в моей предыдущей статье.

Вместо этого я сосредоточусь на том, как обновить код существующих виджетов Главного Экрана для поддержки виджетов Экрана Блокировки.

С учетом всего сказанного, давайте начнем!

Читать далее

Табличная классификация и регрессия Apple ML

Время на прочтение8 мин
Количество просмотров2.1K

Одной из самых замечательных и важных особенностей работы нейронных сетей является способность работы с табличными данным. В принципе, это напрямую вытекает из их природы, однако, в плане использования совместно с  Machine Learning – это свойство не так уж очевидно. Вместе с тем, именно оно раскрывает потенциал использования искусственного интеллекта в мобильных приложениях – натренированная на больших объемах данных нейросеть способна делать весьма близкие к действительности предсказания.

Apple представляет инструменты для быстрого создания и эффективного использования элементов искусственного интеллекта в ваших приложениях.

Читать далее

Мобильная разработка за неделю #472 (16 — 22 января)

Время на прочтение4 мин
Количество просмотров3.5K
Возвращаемся с первым в новом году “мобильным” дайджестом. В нем кастомные макеты, безопасный Swift и опыт KMM, что ждать разработчикам, типы тестировщиков, годовой отчет State of Mobile 2023 и многое другое!

В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

Читать дальше →

Создание кастомного макета в SwiftUI. Интервалы

Время на прочтение5 мин
Количество просмотров1.1K

С помощью нескольких макетов мы можем компоновать представления различными способами. Одним из важнейших параметров является интервал (spacing) между дочерними элементами конкретного макета. На этой неделе мы узнаем, как создать кастомный макет, позволяющий задавать определенное расстояние между представлениями, и как соблюдать платформенно-ориентированные предопределенные правила интервалов в SwiftUI.

Читать далее

Безопасная отладка вашего приложения в продакшене

Время на прочтение6 мин
Количество просмотров1.6K

Безопасная отладка вашего приложения в продакшене

Production (продакшен, прод) - версия продукта, прошедшая все стадии тестирования и выложена онлайн / установлена клиенту.

Читать далее