Qualcuno installa la versione per iPhone di un client VPN su un Mac della serie M, si apre, si connette e il team decide che la questione della piattaforma è risolta. Non lo è. Ciò che qui separa risolto dal semplice funzionare è la differenza tra un’estensione d’app dentro una sessione utente e un’estensione di sistema con un contesto globale. Apple supporta davvero i fornitori di tunnel di pacchetti nel modello app iOS su Mac, e elenca quella configurazione separatamente dal macOS nativo e da Mac Catalyst. Il significato di quel supporto è più stretto di quanto suoni. Dice che la configurazione è consentita, non che una data app la faccia bene, né che il tunnel copra ciò che si presuppone.

Tre configurazioni, una tabella

Tre configurazioni contano su un Mac e non sono intercambiabili. Un client macOS nativo distribuisce un’estensione di sistema, che gira in un contesto globale e può essere presente prima che qualcuno acceda. Un’app iPhone su Apple Silicon distribuisce un’estensione d’app, che gira dentro la sessione dell’utente e termina con essa. Mac Catalyst sta nella stessa famiglia di impacchettamento della versione per telefono, ma è un bersaglio diverso con la propria riga di distribuzione.

Il confronto qui sotto è la parte delle indicazioni di distribuzione di Apple che vale la pena memorizzare, perché risponde alla maggior parte delle domande di progettazione prima di una chiamata a un fornitore.

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

Leggi la colonna dell’impacchettamento prima della pagina marketing: prevede cosa accade alla disconnessione molto più affidabilmente di qualsiasi elenco di funzioni.

Cosa dimostra una richiesta riuscita

La riga app iOS su Mac è una configurazione realmente supportata e non un trucco del simulatore, ed è per questo che la domanda torna sempre. Eredita anche la distribuzione tramite Mac App Store, quindi un’app il cui editore non ha mai attivato la disponibilità per Mac non comparirà, per quanto permissiva sia la documentazione per sviluppatori.

Una connessione funzionante dimostra che una richiesta da un’app ha raggiunto la sua destinazione. Non inventaria il resolver del browser, le app escluse, la seconda famiglia di indirizzi né i dispositivi locali a cui l’utente conta ancora di arrivare. Un tunnel di pacchetti trasporta ciò che dicono le sue rotte e la sua portata, e quella portata viene dalla configurazione dell’app, non dall’esistenza del tunnel.

Il divario è di solito la copertura per app

Un client che instrada tutto è facile da descrivere e facile da testare. Uno che include un elenco definito di app richiede che quelle regole siano rispettate in questa distribuzione, non solo nella versione Mac nativa. L’accesso ai dispositivi locali, le eccezioni del tunnel diviso e tutto ciò che dipende da una voce della barra dei menu che la versione per telefono non ha mai avuto sbattono contro lo stesso muro.

Chiedi la portata per iscritto, poi prova il secondo caso invece del primo. Chiunque può mostrare un browser che raggiunge internet attraverso il tunnel.

Dove i due divergono in esercizio

La durata della sessione è la differenza più netta e la meno visibile in una dimostrazione. Apple documenta le estensioni d’app come eseguite in un contesto utente e terminate quando l’utente esce, quindi un Mac che si riavvia su una finestra di accesso non ha tunnel finché qualcuno non entra. Se il requisito copre una macchina da proteggere prima dell’autenticazione, la versione per telefono non può soddisfarlo, comunque sia scritto il profilo.

Tutto il resto è relativamente cosmetico: una presenza nella barra dei menu, come viene mostrato il DNS, se l’app può uscire mentre il tunnel resta attivo. Sono differenze reali di usabilità e non decisioni architetturali, quindi mettile dopo la domanda della sessione.

Decidi in un ordine fisso

Ordina le domande di proposito: copertura senza assistenza prima, portata per app seconda, distribuzione terza, rifinitura dell’interfaccia per ultima. Solo un client nativo con estensione di sistema risponde alla prima, e raggiunge il dispositivo tramite MDM più un profilo gestito. Un’app iOS su Apple Silicon è una risposta ragionevole quando una persona siede davanti alla macchina, accede e vuole il tunnel per quella sessione.

Prima di impegnarti, poni all’editore tre domande concrete. Il fornitore di tunnel di pacchetti è supportato nella distribuzione app iOS su Mac, le regole per app si applicano lì, e cosa accade alla disconnessione. Un fornitore che risponde a tutte e tre in un solo messaggio conosce la sua superficie di distribuzione; uno che risponde solo alla prima descrive un’app che si apre su un Mac.

Poi verifica sulla macchina che supporterai, con l’account e il gateway che userai davvero. Una versione per telefono collegata a un gateway di prova su un solo portatile è una prova, non una distribuzione.

Articoli correlati