Noen installerer iPhone-versjonen av en VPN-klient på en Mac fra M-serien, den åpnes, den kobler til, og teamet konkluderer med at plattformspørsmålet er avgjort. Det er ikke avgjort. Det som her skiller avgjort fra bare fungerende, er forskjellen mellom en apputvidelse inne i en brukersesjon og en systemutvidelse med en global kontekst. Apple støtter faktisk pakketunnel-leverandører i modellen iOS-apper på Mac, og lister den ordningen separat fra innebygd macOS og Mac Catalyst. Hva den støtten betyr, er smalere enn det høres ut som. Den sier at ordningen er tillatt, ikke at en gitt app gjør det godt, eller at tunnelen dekker det du antar.

Tre ordninger, én tabell

Tre ordninger betyr noe på en Mac, og de kan ikke byttes om. En innebygd macOS-klient leverer en systemutvidelse, som kjører i en global kontekst og kan være til stede før noen logger inn. En iPhone-app på Apple Silicon leverer en apputvidelse, som kjører inne i brukerens sesjon og slutter med den. Mac Catalyst sitter i samme pakkefamilie som telefonversjonen, men er et annet mål med sin egen distribusjonslinje.

Sammenligningen nedenfor er den delen av Apples distribusjonsveiledning som er verdt å huske, fordi den svarer på de fleste designspørsmål før en samtale med en leverandør.

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

Les pakkekolonnen før markedsføringssiden: den forutsier hva som skjer ved utlogging langt mer pålitelig enn noen funksjonsliste.

Hva én vellykket forespørsel beviser

Raden iOS-apper på Mac er en reelt støttet ordning og ikke et simulator-triks, og derfor kommer spørsmålet stadig tilbake. Den arver også distribusjon via Mac App Store, så en app hvis utgiver aldri har slått på Mac-tilgjengelighet, vises ikke, uansett hvor imøtekommende utviklerdokumentasjonen er.

En fungerende tilkobling beviser at én forespørsel fra én app nådde destinasjonen sin. Den kartlegger ikke nettleserens resolver, appene som ble utelatt, den andre adressefamilien eller de lokale enhetene brukeren fortsatt forventer å nå. En pakketunnel bærer det rutene og omfanget sier, og det omfanget kommer fra appens konfigurasjon, ikke fra tunnelens eksistens.

Hullet er som regel dekning per app

En klient som ruter alt, er lett å beskrive og lett å teste. En som omfatter en definert appliste, trenger at disse reglene overholdes i denne distribusjonen, ikke bare i den innebygde Mac-versjonen. Tilgang til lokale enheter, unntak for delt tunnel og alt som avhenger av et menylinjeelement telefonversjonen aldri hadde, treffer den samme veggen.

Be om omfanget skriftlig, og test så det andre tilfellet i stedet for det første. Alle kan vise en nettleser som når internett gjennom tunnelen.

Hvor de to skiller lag i drift

Sesjonens levetid er den skarpeste forskjellen og den minst synlige i en demo. Apple dokumenterer apputvidelser som kjørende i en brukerkontekst og avsluttes når brukeren logger ut, så en Mac som starter til et innloggingsvindu, har ingen tunnel før noen logger inn. Hvis kravet omfatter en maskin som må beskyttes før autentisering, kan telefonversjonen ikke oppfylle det, uansett hvordan profilen er skrevet.

Alt annet er forholdsvis kosmetisk: tilstedeværelse i menylinjen, hvordan DNS vises, om appen kan avslutte mens tunnelen blir stående. Det er reelle brukbarhetsforskjeller og ikke arkitekturbeslutninger, så ranger dem etter sesjonsspørsmålet.

Bestem i fast rekkefølge

Ordne spørsmålene med vilje: ubemannet dekning først, omfang per app andre, distribusjon tredje, grensesnittfinpuss sist. Bare en innebygd klient med systemutvidelse svarer på det første, og den når enheten via MDM og en administrert profil. En iOS-app på Apple Silicon er et rimelig svar når en person sitter ved maskinen, logger inn og vil ha tunnelen for den sesjonen.

Før du forplikter deg, still utgiveren tre konkrete spørsmål. Støttes pakketunnel-leverandøren i distribusjonen iOS-apper på Mac, gjelder regler per app der, og hva skjer ved utlogging. En leverandør som svarer på alle tre i én melding, kjenner distribusjonsflaten sin; en som bare svarer på det første, beskriver en app som åpnes på en Mac.

Verifiser deretter på maskinen du skal støtte, med kontoen og gatewayen du faktisk vil bruke. En telefonversjon som kobler til en testgateway på én bærbar PC, er bevis, ikke distribusjon.

Relaterte artikler