Хтось встановлює версію VPN-клієнта для iPhone на Mac серії M, вона відкривається, підключається, і команда вирішує, що питання платформи закрите. Воно не закрите. Те, що відділяє тут закрите від просто робочого, — це різниця між розширенням застосунку в сеансі користувача і системним розширенням із глобальним контекстом. Apple справді підтримує постачальників пакетних тунелів у моделі «застосунки iOS на Mac» і перелічує цю схему окремо від нативного macOS і Mac Catalyst. Сенс цієї підтримки вужчий, ніж звучить. Вона каже, що схема дозволена, а не що конкретний застосунок робить це добре і не що тунель покриває те, що ви припускаєте.

Три схеми, одна таблиця

На Mac важливі три схеми, і вони не взаємозамінні. Нативний клієнт macOS постачає системне розширення, яке працює в глобальному контексті й може бути присутнім до того, як хтось увійде в систему. Застосунок iPhone на Apple Silicon постачає розширення застосунку, яке працює всередині сеансу користувача й закінчується разом із ним. Mac Catalyst належить до тієї ж родини пакування, що й телефонна версія, але це інша ціль з власним рядком розгортання.

Порівняння нижче — та частина настанов Apple щодо розгортання, яку варто запам'ятати, бо вона відповідає на більшість питань проєктування ще до дзвінка постачальнику.

ArrangementProvider packagingSession contextTypical distribution
iOS app on Apple SiliconApp extensionUser session onlyMac App Store
Native macOS clientSystem extensionGlobal, pre-login possibleDeveloper ID, notarised
Mac CatalystApp extensionUser session onlyMac App Store

Читайте стовпець пакування раніше за маркетингову сторінку: він передбачає, що станеться під час виходу, значно надійніше за будь-який перелік функцій.

Що доводить один успішний запит

Рядок «застосунки iOS на Mac» — це реально підтримувана схема, а не трюк симулятора, і саме тому питання повертається знову й знову. Вона також успадковує розповсюдження через Mac App Store, тож застосунок, видавець якого жодного разу не вмикав доступність для Mac, не з'явиться, хоч би якою поблажливою була документація для розробників.

Робоче з'єднання доводить, що один запит з одного застосунку досяг свого призначення. Воно не описує резолвер браузера, виключені застосунки, другу родину адрес чи локальні пристрої, до яких користувач досі сподівається дістатися. Пакетний тунель несе те, що кажуть його маршрути й обсяг, а цей обсяг походить із конфігурації застосунку, а не з існування тунелю.

Розрив зазвичай у покритті за застосунками

Клієнта, який спрямовує все, легко описати й легко перевірити. Тому, що включає визначений список застосунків, потрібно, щоб ці правила дотримувалися в цьому розгортанні, а не лише в нативній збірці для Mac. Доступ до локальних пристроїв, винятки розділеного тунелювання й усе, що залежить від пункту в рядку меню, якого телефонна версія ніколи не мала, упираються в ту саму стіну.

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

Де вони розходяться в експлуатації

Час життя сеансу — найгостріша різниця й найменш помітна в демонстрації. Apple документує розширення застосунків як такі, що працюють у контексті користувача й завершуються, коли користувач виходить, тому Mac, який завантажується до вікна входу, не має тунелю, доки хтось не увійде. Якщо вимога охоплює машину, яку треба захистити до автентифікації, телефонна версія не може її виконати, хоч би як був написаний профіль.

Усе інше порівняно косметика: присутність у рядку меню, як показується DNS, чи може застосунок завершитися, поки тунель залишається піднятим. Це реальні відмінності в зручності, і вони не є архітектурними рішеннями, тож ставте їх після питання про сеанс.

Вирішуйте у фіксованому порядку

Упорядкуйте питання свідомо: покриття без нагляду першим, обсяг за застосунками другим, розповсюдження третім, оздоблення інтерфейсу останнім. На перше відповідає лише нативний клієнт із системним розширенням, і до пристрою він доходить через MDM і керований профіль. Застосунок iOS на Apple Silicon — розумна відповідь, коли людина сидить за машиною, входить і хоче тунель для цього сеансу.

Перш ніж брати зобов'язання, поставте видавцеві три конкретні питання. Чи підтримується постачальник пакетних тунелів у розгортанні «застосунки iOS на Mac», чи діють там правила за застосунками і що відбувається під час виходу. Постачальник, який відповідає на всі три в одному повідомленні, знає свою поверхню розгортання; той, хто відповідає лише на перше, описує застосунок, що відкривається на Mac.

Потім перевірте на машині, яку будете підтримувати, з тим обліковим записом і шлюзом, які справді використовуватимете. Телефонна версія, підключена до тестового шлюзу на одному ноутбуці, — це доказ, а не розгортання.

Схожі статті