INTEGRITY Документация

iOS Core SDK

Подписаться на RSS

2026-07-17

RealtimeKit iOS Core 3.1.0

Улучшения

  • Подключение к комнате выполняется до 25% быстрее при обычных условиях сети
  • Улучшено начальное качество видео, получаемого от участников с мобильных устройств

Исправления

  • Исправлен сбой при переключении между сессионными залами
  • При включении звука или видео SDK теперь запрашивает разрешение, если соответствующее RtkMeetingInfo.enableAudio или RtkMeetingInfo.enableVideo поле: false. Компонент UI Kit больше не отключается незаметно.

2026-06-24

RealtimeKit iOS Core 3.0.0

Критические изменения

  • Плагины больше не предоставляются сервером. Теперь их нужно заранее объявлять на стороне клиента, передав plugins список в RtkMeetingInfo. Любой плагин, не объявленный при инициализации, будет недоступен во встрече.
    let meetingInfo = RtkMeetingInfo(
      authToken: authToken,
      plugins: [
        RtkClientPluginConfig(
          id: "whiteboard", // Must match the plugin ID used on Web for sync to work
          name: "Whiteboard",
          url: "https://example.com",
          icon: "https://example.com/logo.png",
          permissions: RtkClientPluginPermissions(canActivate: true, canDeactivate: false)
        )
      ]
    )
    
  • Несколько внутренних свойств было удалено из RtkPlugin: baseURL, config, description, isPrivate, а также staggered. Используйте новый icon и permissions свойства вместо этого.
  • baseUrl в RtkMeetingInfo теперь имеет значение по умолчанию, и его больше не нужно передавать явно.
  • Двухаргументный subscribe(key:listener:) и unsubscribe(key:listener:) перегрузки для RtkStore передававшие в обратный вызов и ключ, и значение, были удалены. Используйте варианты обратного вызова с одним аргументом, появившиеся в версии 2.1.0.

Возможности

  • AI Transcription, Новый RtkAi класс (доступен как client.ai) предоставляет доступ к расшифровкам в реальном времени. Реализуйте RtkAiEventListener и зарегистрировать его в addAiEventListener(_:) чтобы получать onTranscript(data:) колбэков. transcriptionEnabled разрешение доступно в MiscellaneousPermissions.
  • Connected Meetings (сессионные залы), Новый RtkConnectedMeetings класс (доступен как client.connectedMeetings) включает сценарии работы с breakout-комнатами. Зарегистрируйте RtkConnectedMeetingsEventListener чтобы обрабатывать переходы между комнатами и обновления состояния. См. Сессионные залы документацию, где приведено полное руководство.
  • Чат: редактирование и удаление, Теперь сообщения можно редактировать и удалять. Новые методы в RtkChat: editTextMessage(messageId:newText:onResult:), editImageMessage(messageId:newUri:onResult:), editFileMessage(messageId:newUri:onResult:), а также deleteMessage(messageId:onResult:). RtkChatEventListener получает onMessageEdited(message:) и onMessageDeleted(messageId:) колбэков. ChatMessage теперь включает isEdited флаг.
  • Чат: получение и пагинация, Новые методы в RtkChat, fetchPublicMessages(beforeTimestamp:count:onlyPinned:onResult:), fetchPrivateMessages(userId:beforeTimestamp:count:onlyPinned:onResult:), fetchPinnedMessages(beforeTimestamp:count:onlyPinned:onResult:), а также getMessages(timestamp:count:channelId:isPinned:onResult:), позволяют получать историю сообщений с курсорной пагинацией через FetchMessagesResult(messages:hasMore:).
  • Плагины, объявленные клиентом, Теперь плагины полностью настраиваются на стороне клиента через RtkClientPluginConfig и RtkClientPluginPermissions. RtkPlugin предоставляет новый icon и permissions свойства соответствующим образом.
  • Целевые рассылки сообщений, RtkParticipants.broadcastMessage(message:targetParticipantIds:payload:) отправляет сообщение определенному подмножеству участников.
  • Значения хранилища с поддержкой null, RtkStore.set(key:value:broadcast:persist:) теперь принимает значение null для value: Any?, что позволяет очищать ключи, устанавливая для них значение nil.
  • Управление логированием, RealtimeKitClient получает enableLogging(_:) и enableLogging(_:minSeverity:) чтобы управлять выводом логов SDK во время выполнения.
  • Result_ Utility Type, Новый Result_<S, F> тип с Success и Failure вариантов последовательно используется во всех новых асинхронных API. Он называется Result_ чтобы избежать конфликта со встроенным в Swift Result тип.

Исправления

  • Улучшена обработка переподключения: медиапотоки теперь корректно восстанавливаются в большем числе сценариев
  • Исправлены возможные зависания интерфейса: наблюдатель изменения аудиомаршрута теперь вызывается вне основного потока
  • Улучшены уровни simulcast: на верхних уровнях теперь поддерживается более широкий диапазон качества
  • Исправлены отдельные состояния гонки при обработке медиа, которые в редких случаях приводили к сбою при отключении или включении звука
  • Оптимизированы вызовы API в процессе присоединения к комнате, что ускоряет первое подключение
  • Исправлена ошибка, из-за которой в некоторых случаях не удавалась загрузка файлов и изображений в чате

2026-05-08

RealtimeKit iOS Core 2.1.0

Критические изменения

  • RtkParticipants.activeSpeakerRtkParticipants.lastActiveSpeaker. Старый activeSpeaker свойство устарело и будет удалено в одном из будущих релизов.
  • RtkSelfParticipant.enableScreenShare()enableScreenShare(onResult:). Старая версия без обратного вызова считается устаревшей и будет удалена в одном из будущих релизов.
  • RtkSelfParticipant.disableScreenShare()disableScreenShare(onResult:). Старая версия без обратного вызова считается устаревшей и будет удалена в одном из будущих релизов.
  • RtkStore.subscribe(key, (key, value) → Unit)subscribe(key, (value) → Unit). Старая сигнатура обратного вызова с двумя аргументами считается устаревшей, но продолжает работать благодаря обратно совместимой прослойке.
  • RtkStore.unsubscribe(key, (key, value) → Unit)unsubscribe(key, (value) → Unit). Старая сигнатура обратного вызова с двумя аргументами считается устаревшей, но продолжает работать благодаря обратно совместимой прослойке.

Возможности

  • Добавлено RtkChat.pin() и RtkChat.unpin() методы, чтобы закреплять и открепять сообщения чата
  • Добавлено RtkChat.getMessagesByUser() чтобы фильтровать сообщения по отправителю и RtkChat.getMessagesByType() чтобы фильтровать сообщения по типу
  • Добавлено SelfPermissions.canPinMessage() чтобы проверить, есть ли у локального участника право закреплять сообщения

Исправления

  • Исправлена ошибка, из-за которой статус записи оставался «recording», если запись, начатую другим участником, останавливали
  • Исправлено появление «призрачных» участников в сетке, когда пользователь находился на экране настройки, но еще не подключился к сокет-комнате
  • Исправлена проблема, из-за которой организатор вебинара был невидим для других участников при позднем присоединении
  • Исправлена ошибка, из-за которой боты записи и другие скрытые участники некорректно отображались в сетке участников
  • Исправлена проблема, из-за которой участники из списка ожидания отображались в списке участников до того, как их допускали к встрече

2026-04-20

RealtimeKit iOS Core 2.0.0

Критические изменения

  • Удалена поддержка Hive SFU. Теперь поддерживается только Cloudflare SFU.
  • Базовый URI по умолчанию теперь realtime.cloudflare.com. Вызов init() с dyte.io базовый домен теперь сразу завершается ошибкой с MeetingError.InvalidBaseUrl

Исправления

  • Добавлена совместимость с новым именованием полей в серверном API плагинов
  • Исправлен сбой, который мог возникать при обращении к контроллеру сокета до того, как init() был вызван
  • Исправлена ошибка, из-за которой токен авторизации не отправлялся на эндпойнт сборщика callstats
  • Удалена собственная логика ping-pong keepalive, которая требовалась только для предыдущей инфраструктуры

2026-02-06

RealtimeKit iOS Core 1.6.1

Исправления

  • Исправлены проблемы с медиа при увеличенном времени установления соединения

2026-01-14

RealtimeKit iOS Core 1.6.0

Исправления

  • Исправлены сбои, возникавшие при загрузке файлов
  • Улучшены переходы в сетке благодаря пакетной активации consumer, что повышает производительность
  • Запросы на переключение консьюмера перенесены с главного потока, чтобы не блокировать UI
  • Устранены состояния гонки за счёт отмены попыток переподключения во время инициализации

2025-12-16

RealtimeKit iOS Core 1.5.7

Исправления

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

2025-12-12

RealtimeKit iOS Core 1.5.6

Исправления

  • Исправлены дедлоки при присоединении к вебинару и включении демонстрации экрана
  • Исправлена ошибка, из-за которой камера переставала работать при переходе на экран настроек и обратно
  • Исправлен редкий сбой в определении голосовой активности

2025-12-04

RealtimeKit iOS Core 1.5.5

Исправления

  • Исправлена ошибка, из-за которой плитки участников не удалялись корректно при выходе пиров из встречи
  • Исправлены скачки потребления памяти при включении или переключении видео участниками
  • Улучшено управление видеобуфером для предотвращения роста потребления памяти
  • Улучшена отрисовка видео на iOS для соответствия поведению на Android

2025-11-06

RealtimeKit iOS Core 1.5.4

Исправления

  • Внутренние исправления для снижения детализации телеметрии
  • Исправлена незначительная утечка памяти

2025-10-23

RealtimeKit iOS Core 1.5.3

Исправления

  • Исправлен регресс, из-за которого собственное видео не отображалось при присоединении к встрече с выключенной камерой

2025-10-23

RealtimeKit iOS Core 1.5.2

Исправления

  • Исправлено нестабильное поведение сетки за счёт улучшенной логики обновления

2025-10-06

RealtimeKit iOS Core 1.5.1

Исправления

  • Внутренние исправления проблем на платформе Flutter

2025-09-23

RealtimeKit iOS Core 1.5.0

Возможности

  • Добавлено RtkSelfEventListener#onAudioDeviceChanged метод, который вызывается при обновлении текущего аудиомаршрута

Исправления

  • iOS больше не игнорирует выбор аудиоустройства при первоначальном присоединении

2025-09-18

RealtimeKit iOS Core 1.4.1

Исправления

  • Теперь в качестве аудиовыхода по умолчанию используется громкая связь вместо динамика у уха

2025-09-18

RealtimeKit iOS Core 1.4.0

Критические изменения

  • Обновлена RtkSelfEventListener#onAudioDevicesUpdated метод, чтобы получить список доступных устройств

Исправления

  • Исправлена ошибка, из-за которой не удавалось направить звук на устройства Bluetooth

2025-09-12

RealtimeKit iOS Core 1.3.4

Исправления

  • Исправлен редкий сбой при присоединении к встрече в условиях слабого сетевого соединения

2025-09-12

RealtimeKit iOS Core 1.3.3

Исправления

  • Исправлена ошибка, из-за которой закрепленные пиры не удалялись со сцены при исключении
  • Теперь консьюмеры создаются параллельно, что значительно ускорило момент, когда пользователи начинают видеть аудио и видео других участников после присоединения к встрече
  • Исправлена проблема с «призрачными»/недействительными пирами, которые иногда появлялись на длительных встречах
  • Исправлена ошибка в вебинарах, из-за которой SDK переставал передавать медиапоток после однократного удаления участника со сцены

2025-08-13

RealtimeKit iOS Core 1.3.2

Улучшения

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

2025-08-13

RealtimeKit iOS Core 1.3.1

Улучшения

  • Исправлен возможный сбой при слабом сетевом соединении

2025-08-12

RealtimeKit iOS Core 1.3.0

Возможности

  • Добавлено RtkSelfParticipant#canJoinStage и RtkSelfParticipant#canRequestToJoinStage API

Исправления

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

2025-08-05

RealtimeKit iOS Core 1.2.0

Критические изменения

  • Переименовано RtkLivestreamData.roomName к RtkLivestreamData.meetingId чтобы соответствовать существующим соглашениям API
  • Удалена устаревшая WaitingRoomPermissions абстракция: вся необходимая функциональность здесь доступна через HostPermissions
  • VideoDevice получил cameraType: CameraType параметр
  • VideoDeviceType#displayName теперь считается устаревшим, вместо него рекомендуется вызывать VideoDevice#toString вместо этого, чтобы получить понятные пользователю названия отдельных VideoDevice экземпляры
  • Существующие API, связанные с middleware, были удалены и заменены эквивалентными аналогами из WebRTC: RtkSelfParticipant#addVideoMiddleware, RtkSelfParticipant#getVideoMiddlewares и RtkSelfParticipant#removeVideoMiddleware были удалены. Мы не поддерживаем миддлвары на iOS, поэтому эти API фактически не выполняли никаких действий и были доступны по ошибке.

Возможности

  • Переработаны middlewares с использованием нативных примитивов WebRTC для устранения периодических сбоев и других проблем.
  • VideoDevice теперь корректно обозначает несколько камер по их характеристикам, таким как широкоугольная камера и телеобъектив.

Исправления

  • Исправлена ошибка, из-за которой демонстрация экрана не запускалась
  • Устранено засорение логов от нашей библиотеки callstats

2025-07-02

RealtimeKit iOS Core 1.1.0

Возможности

  • Поддержка активных спикеров

Улучшения

  • Инициализация встречи (meeting.init()) теперь примерно на 60% быстрее
  • Выполнен переход на обновлённую и RTK с пространством имён WebRTC

2025-06-20

RealtimeKit iOS Core 1.0.1

Критические изменения

  • RtkMessageType переименован в ChatMessageType

Исправления

  • Устранено засорение логов от репортера аудиоактивности
  • Увеличена скорость подключения к звонкам
  • Токены авторизации теперь автоматически удаляют лишние пробелы и переносы строк

2025-05-26

RealtimeKit iOS Core 1.0.0

Критические изменения

  • Удалено устаревшее channelId поле из TextMessage
  • Типы слушателей перенесены в соответствующий пакет функции
  • Публичные слушатели перенесены в соответствующие пакеты функций
  • Переименованы методы добавления и удаления обработчиков плагинов для RtkPluginsEventListener
  • Перенесены расширения чата в chat пакет
  • Перенесено RtkParticipant к корневому пакету
  • Перенесено RtkMeetingParticipant к корневому пакету
  • Перенесено RtkPluginFile к пакету plugins
  • Middleware перенесены в собственный пакет
  • Перенесено VideoScaleType на верхний уровень media пакет
  • Отброшено Rtk префикс из типов аудио- и видеоустройств
  • Типы устройств перенесены на верхний уровень media пакет
  • Отброшено Rtk префикс из типов опросов
  • Все упоминания «LiveStream» заменены на «Livestream»
  • Перенесено RtkMeetingParticipant в корневой пакет
  • Удалено Rtk префикс из RtkRecordingState
  • Удалено Rtk префикс из типов сообщений чата
  • Удалено устаревшее поле RtkLivestream#roomName
  • Перенесено RtkMediaPermission в пакет media и переименован в MediaPermission
  • Перераспределены feat члены пакета
  • Перенесено StageStatus класс в пакет stage
  • Все обработчики событий переименованы в форму единственного числа *EventListener форма

2025-05-16

RealtimeKit iOS Core 0.2.1

Исправления

  • Внутренние исправления конвейера релизов

2025-05-16

RealtimeKit iOS Core 0.2.0

Исправления

  • Добавлено определение аудиоактивности для сигнализации активного спикера

2025-05-14

RealtimeKit iOS Core 0.1.0

Новые API

  • Первый alpha-релиз