Ekstensi pendukung di iOS, iPadOS, dan macOS
iOS, iPadOS, dan macOS memungkinkan app untuk menyediakan fungsinya bagi app lain dengan menyediakan ekstensi. Ekstensi adalah biner yang dapat dieksekusi bertanda tangan dengan tujuan khusus yang disertakan di dalam app. Selama penginstalan, sistem secara otomatis mendeteksi ekstensi dan membuatnya tersedia untuk app lain menggunakan sistem pencocokan.
Titik ekstensi
Area sistem yang mendukung ekstensi disebut dengan titik ekstensi. Setiap titik ekstensi menyediakan API dan memberlakukan kebijakan bagi area tersebut. Sistem menentukan ekstensi mana yang tersedia berdasarkan aturan pencocokan khusus titik ekstensi. Sistem akan meluncurkan proses ekstensi secara otomatis jika diperlukan dan mengelola masa berlakunya. Hak dapat digunakan untuk membatasi ketersediaan ekstensi bagi app sistem tertentu. Misalnya, widget tampilan Hari Ini hanya muncul di Pusat Pemberitahuan, dan ekstensi berbagi hanya tersedia dari panel Berbagi. Contoh dari titik ekstensi adalah widget Hari Ini, Bagikan, Tindakan, Pengeditan Foto, Penyedia File, dan Papan Ketik Khusus.
Cara ekstensi berkomunikasi
Ekstensi dijalankan di ruang alamatnya sendiri. Komunikasi antara ekstensi dan app tempat asal aktivasi ekstensi menggunakan komunikasi antarproses yang diperantarai oleh kerangka sistem. Ekstensi tidak dapat mengakses file atau ruang memori satu sama lain. Ekstensi dirancang agar terisolasi dari satu sama lain, dari app yang mewadahinya, dan app yang menggunakannya. Ekstensi berjalan dalam sandbox seperti app pihak ketiga lain dan memiliki wadah yang terpisah dari wadah app yang mewadahinya. Namun, ekstensi berbagi akses yang sama terhadap kontrol privasi dengan app wadah. Sehingga jika pengguna memberi akses Kontak ke app, pemberian akses ini dapat diperluas ke ekstensi yang ditanam di dalam app tapi tidak ke ekstensi yang diaktifkan oleh app.
Cara papan ketik khusus digunakan
Papan ketik khusus adalah ekstensi jenis khusus karena diaktifkan oleh pengguna untuk keseluruhan sistem. Setelah diaktifkan, ekstensi papan ketik digunakan untuk semua bidang teks kecuali input kode sandi dan semua tampilan teks aman. Untuk membatasi transfer data pengguna, papan ketik khusus dijalankan secara default di sandbox yang sangat terbatas yang memblokir akses ke jaringan, ke layanan yang menjalankan operasi jaringan atas nama proses tertentu, dan ke API yang akan mengizinkan ekstensi untuk mengambil data pengetikan. Pengembang papan ketik khusus dapat meminta agar ekstensi mereka memiliki Akses Terbuka, yang akan memungkinkan sistem untuk menjalankan ekstensi di sandbox default setelah mendapatkan persetujuan dari pengguna.
MDM dan ekstensi
Untuk perangkat yang terdaftar di solusi mobile device management (MDM), ekstensi dokumen dan papan ketik mematuhi aturan Buka Di Dikelola. Misalnya, solusi MDM dapat membantu mencegah pengguna untuk mengekspor dokumen dari app terkelola ke Penyedia Dokumen yang tidak dikelola, atau membantu mencegahnya agar tidak menggunakan papan ketik tidak dikelola dengan app terkelola. Selain itu, pengembang app dapat mencegah penggunaan ekstensi papan ketik pihak ketiga di dalam app mereka.