SponsorGiriş yapGönder

← Tüm araçlar

Entitlements açıklayıcısı

codesign'ın yazdırdığını ya da .entitlements dosyanızı yapıştırın. Doğrudan bu sayfada okunur ve hiçbir yere gönderilmez.

Entitlements açıklayıcısı

Bir örnek deneyin:

Ne yapar

Entitlements, Mac uygulamanızın imzalandığı izinlerdir: App Sandbox içinde çalışıp çalışmadığı, hangi klasörlere ve cihazlara erişebildiği, sertleştirilmiş çalışma zamanının hangi korumalarını kapattığı ve hangi Apple hizmetlerini kullandığı. .entitlements dosyanızda bulunur ve imzanın içine girer. Bu araç yapıştırdığınız metni okur, her entitlement'ı ve değerini bulur ve neye izin verdiğini sade sözlerle söyler. Önce notarizasyonu durduracak olanları, sonra App Review'ın ya da dikkatli bir kullanıcının soracaklarını, sonra sıradan olanları koyar.

Çalıştırılacak komutlar

codesign -d --entitlements - YourApp.app
codesign -d --entitlements - --xml YourApp.app

Bunları yayınladığınız derlemede çalıştırın. Xcode'dan bir Debug derlemesi genellikle com.apple.security.get-task-allow taşır, Release derlemesi taşımaz. Bir yardımcıyı ya da eklentiyi kontrol etmek için komutu o pakete yöneltin.

Her sonucun anlamı

İşaretNe anlama gelir
DüzeltNotarizasyon bunu reddeder ya da macOS bununla üçüncü taraf bir uygulamayı çalıştırmaz.
GörünümSertleştirilmiş çalışma zamanı istisnası, sandbox istisnası, kapalı bir sandbox ya da bir test ayarı. İzin verilir, ama yalnızca uygulama gerektiriyorsa bırakın.
TamamApp Sandbox açık.
NotSıradan bir izin. Uygulamanın bunu gerçekten kullandığını kontrol edin.

Kaynaklar: Apple Developer, Entitlements, App Sandbox, Hardened Runtime ve Resolving common notarization issues, hepsi 6 Kasım 2026 tarihinde okundu.

Nasıl çalışır

Bu sayfada çalışan birkaç sade metin kuralıdır. Bir .entitlements dosyasının ya da codesign --xml çıktısının içerdiği XML'i ve yeni macOS'ta codesign tarafından yazdırılan köşeli parantezli [Key] ve [Value] satırlarını okur. Yalnızca anahtar adlarını yapıştırırsanız, onları açıklar. 50 yaygın entitlement'ı tanır. Başka her şeyi tahmin etmek yerine listesinde olmadığı için işaretler. Sertleştirilmiş çalışma zamanının açık olup olmadığını söyleyemez, çünkü bu bir entitlement değil, bir imzalama bayrağıdır: codesign -dv çıktısında flags=0x10000(runtime) arayın.

Sorular

Mac'te entitlements nedir?

Bunlar, bir uygulamanın kod imzasına yazılmış izinlerdir. Uygulamanın App Sandbox içinde çalışıp çalışmadığını, hangi dosyaları, cihazları ve Apple hizmetlerini kullanabildiğini ve sertleştirilmiş çalışma zamanının hangi korumalarını kapattığını söylerler.

Bir uygulamanın entitlements'ını nasıl görürüm?

Terminal'de codesign -d --entitlements - komutunu çalıştırın, ardından uygulamanın yolunu yazın. Aynı listeyi bir özellik listesi olarak almak için --xml ekleyin.

Uygulamam neden get-task-allow yüzünden notarizasyonda reddedildi?

Bu entitlement hata ayıklayıcıların bağlanmasına izin verir ve Xcode onu Debug derlemelerine ekler. Bir Release derlemesi arşivleyin ya da imzaladığınız entitlements'tan çıkarın, sonra yeniden gönderin.

Bir Mac uygulamasının App Sandbox'a ihtiyacı var mı?

Yalnızca bunu zorunlu kılan Mac App Store için. Developer ID ile kendiniz sattığınız bir uygulama bu olmadan çalışabilir, yine de notarizasyon için sertleştirilmiş çalışma zamanına ihtiyacı vardır.

Yapıştırdığım şey bir yere gönderiliyor mu?

Hayır. Metin bu sayfada okunur ve hiçbir şey gönderilmez.

İlgili