Реалізація 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: як веб-камера для відеозвінків, джерело для сканування документів та фотографування безпосередньо в Mac-програмі. Система робить це автоматично — 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 з дією 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 днів. Вартість розраховується індивідуально.