iOS’te, iPadOS’te ve macOS’te genişletmeleri destekleme
iOS, iPadOS ve macOS, uygulamaların genişletmeler aracılığıyla diğer uygulamalara işlev sunmasına izin verir. Genişletmeler; bir uygulamayla aynı pakette bulunan, özel bir amaca yönelik, imzalanmış çalıştırılabilir ikili öğelerdir. Yükleme sırasında sistem, genişletmeleri otomatik olarak algılar ve bir eşleştirme sistemi kullanarak bunların diğer uygulamalar tarafından kullanılabilmelerini sağlar.
Genişletme noktaları
Genişletmeleri destekleyen sistem alanına genişletme noktası adı verilir. Her genişletme noktası, o alan için API’ler sağlar ve politikalar uygular. Sistem, hangi genişletmelerin kullanılabileceğini genişletme noktasına özel eşleştirme kurallarına göre belirler. Sistem, genişletme işlemlerini gerektiği şekilde otomatik olarak başlatır ve bu işlemlerin kullanım ömürlerini yönetir. Genişletmelerin kullanılabilirliğini belirli sistem uygulamaları ile sınırlamak için yetki anahtarları kullanılabilir. Örneğin, bir Bugün görüntüsü araç takımı, yalnızca Bildirim Merkezi’nde görünür ve paylaşma genişletmesi yalnızca Paylaşma bölümünden kullanılabilir. Genişletme noktalarına örnek olarak Bugün araç takımları, Paylaşma, Eylemler, Fotoğraf Düzenleme, Dosya Sağlayıcı ve Özel Klavye verilebilir.
Genişletmeler nasıl iletişim kurar?
Genişletmeler kendi adres alanlarında çalışır. Genişletme ile genişletmenin etkinleştirildiği uygulama arasındaki iletişimde, sistem yazılım çerçevesinin aracılık ettiği işlemler arası iletişimler kullanılır. Bunların birbirlerinin dosyalarına veya bellek alanlarına erişimi yoktur. Genişletmeler, birbirlerinden, kendilerini içeren uygulamalardan ve onları kullanan uygulamalardan yalıtılacak şekilde tasarlanmıştır. Diğer tüm üçüncü parti uygulamalar gibi Sandbox kullanırlar ve onları içeren uygulamanın kapsayıcısından ayrı bir kapsayıcıları bulunur. Ancak, kapsayıcı uygulamayla aynı gizlilik denetimlerine erişimleri vardır. Bu yüzden, eğer bir kullanıcı bir uygulamanın Kişilerʼe erişmesine izin verirse bu izin uygulamada yerleşik genişletmeleri de kapsayacak şekilde genişletilir ancak uygulama tarafından etkinleştirilen genişletmeleri kapsamaz.
Özel klavyeler nasıl kullanılır?
Özel klavyeler, kullanıcı tarafından sistemin tamamı için etkinleştirilen özel bir genişletme türüdür. Klavye genişletmesi, etkinleştirildikten sonra parola girişi ve güvenli metin görüntüleri hariç tüm metin alanları için kullanılır. Özel klavyeler, kullanıcı verilerinin aktarımını sınırlamak için saptanmış olarak ağa, bir işlem adına ağ işlemleri gerçekleştiren servislere ve genişletmenin yazılan verileri çalmasına izin verecek API’lere erişimini engelleyen çok sınırlayıcı bir Sandbox içinde çalıştırılır. Özel klavyelerin geliştiricileri genişletmelerinin, kullanıcının onayı alındıktan sonra sistem tarafından saptanmış Sandbox’ta çalıştırılmasına izin veren Açık Erişim’e sahip olmasını isteyebilir.
MDM ve genişletmeler
Bir mobil aygıt yönetimi (MDM) çözümüne kayıtlı aygıtlar için, belge ve klavye genişletmeleri Yönetilen Şurada Aç kurallarına uyar. Örneğin MDM çözümü, kullanıcıların bir belgeyi yönetilen bir uygulamadan yönetilmeyen bir Belge Sağlayıcısı’na aktarmasını veya yönetilen bir uygulamayla yönetilmeyen bir klavye kullanmasını engellemeye yardımcı olabilir. Bunların yanı sıra, uygulama geliştiriciler uygulamalarında üçüncü parti klavye genişletmelerinin kullanılmasını engelleyebilir.