Supplerende udvidelser i iOS, iPadOS og macOS
Ved hjælp af udvidelser i iOS, iPadOS og macOS kan apps stille funktionalitet til rådighed for andre apps. Udvidelser er signerede binære app-arkiver til bestemte formål, som er indpakket i en app. Under installering registrerer systemet automatisk udvidelser og gør dem tilgængelige for andre apps, der bruger et tilsvarende system.
Udvidelsespunkter
Et systemområde, der understøtter udvidelser, kaldes et udvidelsespunkt. Hvert udvidelsespunkt stiller API'er til rådighed og håndhæver politikker for området. Systemet afgør ud fra særlige sammenligningsregler for udvidelsespunktet, hvilke udvidelser der er tilgængelige. Systemet starter automatisk udvidelsesprocesser efter behov og administrerer deres levetid. Berettigelser kan bruges til at begrænse udvidelsernes tilgængelighed til bestemte systemapps. Den widget, der viser oversigten “I dag”, findes f.eks. kun i Notifikationscenter, og en udvidelse vedrørende deling er kun tilgængelig fra vinduet Deling. Der er f.eks. følgende udvidelsespunkter: “I dag”-widgets, Del, handlinger, Fotoredigering, Arkivudbyder og Specielt tastatur.
Kommunikation mellem udvidelser
Udvidelser afvikles i deres eget adresseområde. Kommunikation mellem udvidelsen og den app, den blev aktiveret fra, bruger kommunikation mellem processer med systemets framework som mægler. De har ikke adgang til hinandens arkiver eller hukommelsesområder. Udvidelser er designet, så de er isoleret i forhold til hinanden, til de apps, de er indeholdt i, og til de apps, der bruger dem. De afvikles i et isoleret miljø (“sandbox”) og har en beholder, der er adskilt fra den indeholdende apps beholder. De har imidlertid samme adgang til anonymitetsindstillinger som den app, de er indeholdt i. Det betyder, at hvis en bruger tildeler en app adgang til Kontakter, udvides tildelingen til de udvidelser, der er integreret i appen, men ikke til de udvidelser, som appen aktiverer.
Brug af specielle tastaturer
Specielle tastaturer er en særlig type udvidelse, som aktiveres af brugeren til hele systemet. Når en tastaturudvidelse er aktiveret, bruges den til alle tekstfelter, undtagen indtastning af koder og sikre tekstoversigter. For at begrænse overførslen af brugerdata afvikles specielle tastaturer som standard i et meget restriktivt isoleret miljø, der blokerer adgang til netværket, til tjenester, som udfører netværksfunktioner på vegne af en proces, og til API'er, der ville give udvidelsen mulighed for at tilegne sig indtastede data. Udviklere af specielle tastaturer kan anmode om åben adgang for deres udvidelse, så systemet kan afvikle udvidelsen i det isolerede standardmiljø (standardsandbox), hvis brugeren giver sit samtykke.
MDM og udvidelser
For enheder, der er tilmeldt en løsning til administration af mobile enheder (MDM), gælder, at dokument- og tastaturudvidelser overholder administrerede “Åbn i”-regler. MDM-løsningen kan f.eks. være med til at forhindre brugere i at eksportere et dokument fra en administreret app til en ikke-administreret dokumentudbyder eller bruge et ikke-administreret tastatur til en administreret app. Derudover kan app-udviklere forhindre brugen af tastaturudvidelser fra tredjeparter i deres app.