SponsorAccediInvia

← Tutti gli strumenti

Spiegatore degli entitlement

Incolla ciò che stampa codesign, o il tuo file .entitlements. Viene letto qui, in questa pagina, e non viene inviato nulla da nessuna parte.

Spiegatore degli entitlement

Prova un esempio:

Che cosa fa

Gli entitlement sono le autorizzazioni con cui è firmata la tua app per Mac: se gira in App Sandbox, a quali cartelle e dispositivi può accedere, quali protezioni dell'hardened runtime disattiva e quali servizi Apple usa. Stanno nel tuo file .entitlements e finiscono dentro la firma. Questo strumento legge il testo che incolli, trova ogni entitlement e il suo valore e dice in parole semplici cosa consente. Mette per primi quelli che bloccheranno la notarizzazione, poi quelli su cui App Review o un utente attento farà domande, poi quelli ordinari.

Comandi da eseguire

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

Eseguili sulla build che distribuisci. Una build di debug da Xcode di solito contiene com.apple.security.get-task-allow, che una build Release non ha. Per controllare un helper o un'estensione, punta il comando a quel bundle.

Cosa significa ogni risultato

VotoChe cosa significa
CorreggiLa notarizzazione la rifiuta, oppure macOS non esegue un'app di terze parti che la contiene.
AspettoUn'eccezione al hardened runtime, un'eccezione alla sandbox, una sandbox disattivata o un'impostazione di test. Consentito, ma tienilo solo se l'app ne ha bisogno.
OKApp Sandbox è attiva.
NotaUn'autorizzazione ordinaria. Controlla che l'app la usi davvero.

Fonti: Apple Developer, Entitlements, App Sandbox, Hardened Runtime e Resolving common notarization issues, tutte lette il 6 novembre 2026.

Come funziona

Sono poche semplici regole di testo che girano in questa pagina. Legge l'XML contenuto in un file .entitlements o in codesign --xml, e le righe [Key] e [Value] tra parentesi che codesign stampa sui macOS recenti. Se incolli solo i nomi delle chiavi, li spiega. Conosce 50 entitlement comuni. Tutto il resto lo segna come non presente nella sua lista invece di tirare a indovinare. Non può dire se l'hardened runtime è attivo, perché è un flag della firma e non un entitlement: cerca flags=0x10000(runtime) in ciò che stampa codesign -dv.

Domande

Cosa sono gli entitlement su un Mac?

Sono autorizzazioni scritte nella firma del codice di un'app. Dicono se l'app gira in App Sandbox, quali file, dispositivi e servizi Apple può usare e quali protezioni dell'hardened runtime disattiva.

Come vedo gli entitlement di un'app?

Esegui codesign -d --entitlements - seguito dal percorso dell'app nel Terminale. Aggiungi --xml per avere la stessa lista come property list.

Perché la mia app è stata respinta dalla notarizzazione per get-task-allow?

Quell'entitlement permette ai debugger di collegarsi, e Xcode lo aggiunge alle build di debug. Archivia una build Release, oppure toglilo dagli entitlement con cui firmi, poi invia di nuovo.

Un'app per Mac ha bisogno di App Sandbox?

Solo per il Mac App Store, che lo richiede. Un'app che vendi tu con Developer ID può girare senza, anche se per la notarizzazione serve comunque l'hardened runtime.

Quello che incollo viene inviato da qualche parte?

No. Il testo viene letto in questa pagina e non viene inviato nulla.

Correlati