Реализация Continuity Camera (использование iPhone как веб-камеры Mac)

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Реализация Continuity Camera (использование iPhone как веб-камеры Mac)
Средний
~3-5 дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Реализация Continuity Camera — использование iPhone как веб-камеры Mac

Continuity Camera появилась в macOS Ventura и iOS 16. iPhone используется как камера для Mac: в качестве веб-камеры для видеозвонков, источника для сканирования документов и фотографирования прямо в macOS-приложении. Система делает это автоматически — iPhone появляется как камера в Camera Input выпадающем меню любого приложения. Но чтобы задействовать расширенные возможности (Document Scanner, Look Around, Desk View через ультраширокоугольный объектив), нужна явная интеграция.

Два уровня интеграции

Уровень 1: нулевая разработка. iPhone просто отображается как AVCaptureDevice в списке камер Mac-приложения. AVCaptureSession выбирает его как источник видео — никаких дополнительных API не требуется. Пользователь выбирает iPhone в настройках видеозвонка, и он работает как любая USB/Thunderbolt-камера. Это работает в FaceTime, Zoom, Teams без единой строки кода от разработчика Mac-приложения.

Уровень 2: NSCameraUIkit / Continuity Camera picker. Для сканирования документов, фотографирования объектов и вставки в Mac-приложение — NSWorkspace.shared.open(_:withApplications:configuration:) или стандартные механизмы через NSItemProvider. AppKit предоставляет ContinuityCameraMenu и интеграцию через NSSharingService.

Для SwiftUI на Mac через Continuity Camera Picker:

import AppKit

// Добавление пункта меню Continuity Camera в контекстное меню NSView
// Через NSMenuItem с action continuityCamera:
class ImageHostingView: NSView {
  override func willOpenMenu(_ menu: NSMenu, with event: NSEvent) {
    NSWorkspace.shared.continuityCamera(for: self) { image in
      // image: NSImage, полученное с iPhone
      self.displayCapturedImage(image)
    }
  }
}

На практике большинство запросов связано с интеграцией Document Scanner — сканирование и OCR через iPhone, результат в Mac-приложение.

Разрешения и entitlements

На Mac-стороне нужен NSCameraUsageDescription — даже если физически используется камера iPhone. Система запрашивает разрешение на доступ к "камере", под которой понимает Continuity Camera тоже. Без этого ключа в Info.plist — краш при попытке захвата.

На iPhone разрешения со стороны пользователя — стандартный диалог доступа к камере при первом использовании. Управление — на уровне iOS Settings, не через Mac-приложение.

Desk View и Center Stage

Desk View — режим, при котором ультраширокоугольный объектив iPhone показывает рабочий стол сверху вниз. Доступен программно через AVCaptureSession с указанием нужного AVCaptureDevice с deviceType == .continuityCamera и position == .deskView (если доступно).

Center Stage — автоматическое кадрирование с удержанием лица в центре. Активируется через AVCaptureDevice.isCenterStageEnabled = true. Требует проверки AVCaptureDevice.isCenterStageSupported.

Ограничения

Continuity Camera работает только при подключении по Wi-Fi в одной сети с Bluetooth включённым, или через USB. Программно нельзя форсировать USB-соединение. Нельзя одновременно использовать Continuity Camera и другое приложение на iPhone, использующее камеру.

Функция недоступна на Intel Mac с macOS Ventura при определённых конфигурациях GPU — нюанс, о котором стоит предупредить клиента.

Что входит в работу

  • Настройка AVCaptureSession для выбора iPhone как камеры
  • Интеграция Document Scanner через Continuity Camera Picker
  • Обработка разрешений на Mac (NSCameraUsageDescription)
  • Center Stage и Desk View (при наличии в требованиях)
  • Тестирование на Mac + физический iPhone (симулятор не поддерживает)

Сроки

3–5 дней в зависимости от уровня интеграции. Базовое использование iPhone как WebCam без специального кода — 0 дней, это системная функция. Полная интеграция Document Scanner и Desk View с обработкой результатов — 3–5 дней. Стоимость рассчитывается индивидуально.