Приложения для iOS. Разработка ios приложения (интеграция с фреймворком) (Дистанционная работа)

Бюджет не указан

Задание: Приложения для iOS. Разработка ios приложения (интеграция с фреймворком) (Дистанционная работа)

1. Необходимо интегрировать фреймворк livekit в iOS приложение 2. Интегрировать с callkit 3. Сделать верстку по дизайну интерфейса Техническое задание: Интеграция аудиозвонков через LiveKit и CallKit в iOS-приложение с поддержкой VoIP Цель Обеспечить полноценную поддержку аудиозвонков в iOS-приложении на базе LiveKit, с нативным отображением звонков через CallKit, и приёмом входящих звонков через VoIP Push (PushKit). Комната создаётся автоматически, без участия пользователя. ⸻ 1. Интеграция LiveKit (аудио) Задачи: • Подключить LiveKit iOS SDK. • Реализовать подключение к существующему серверу LiveKit: • Комната определяется автоматически сервером • Аутентификация происходит через access-токен, получаемый от backend-а • Поддерживаемые функции: • Подключение к комнате только с аудио-треком • Управление микрофоном (включение/отключение) • Завершение сессии (включая удаление из комнаты) • Обработка событий: • Подключение и отключение участников • Ошибки подключения и потери соединения ⸻ 2. Интеграция CallKit Задачи: • Настроить CallKit (CXProvider + CXCallController) для: • Отображения системного интерфейса звонков • Управления действиями: ответ, отклонить, завершить, микрофон • Сценарии: • Исходящий звонок: инициируется из приложения, отображается через CallKit, автоматически подключается к LiveKit • Входящий звонок: инициируется через VoIP push, отображается системный экран звонка, при ответе — подключение к LiveKit • Логика синхронизации: • Ответ в CallKit → подключение к комнате LiveKit • Завершение вызова → отключение от LiveKit и уведомление CallKit ⸻ 3. VoIP Push-уведомления Задачи: • Интеграция PushKit для приёма VoIP push-уведомлений • Получение и регистрация VoIP-токена • Обработка входящих push-сообщений: • На входящее уведомление — вызов CallKit (CXProvider.reportNewIncomingCall) • Подключение к комнате LiveKit после принятия вызова • Учет сценариев фонового режима и закрытого приложения ⸻ 4. Поведение приложения Исходящий вызов: 1. Пользователь нажимает “Позвонить” в приложении. 2. Вызов отображается через CallKit. 3. Подключение к комнате LiveKit происходит при старте звонка. Входящий вызов: 1. Сервер отправляет VoIP push. 2. Приложение получает уведомление и вызывает CallKit. 3. При ответе — подключение к LiveKit и начало аудиосессии. ⸻ Ожидаемый результат • Поддержка исходящих и входящих аудиозвонков. • Стабильная работа через CallKit с отображением системных звонков. • Транспорт аудио — через LiveKit, с надёжным соединением. • Входящие вызовы через VoIP push (PushKit). • Минимальное участие пользователя — комната и соединение происходят автоматически.