Come faccio a sapere quali diritti ha un'app?


28

Le app in modalità sandbox devono dichiarare i loro diritti. Ovviamente, ciò non mi giova se non riesco a dire quali diritti dichiara. Un editor di testo con diritti per Core Location, Network Server e la mia Rubrica, a mia insaputa, potrebbe essere molto peggio di un'app senza sandbox.

Come posso vedere quali diritti ha un'app?

Risposte:


35

Dopo qualche altra ricerca, ho trovato una risposta dalla riga di comando:

codesign -d --entitlements :- /Applications/Whatever.app/

Questo stamperà un plist XML con valori come:

<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.files.user-selected.read-write</key>
<true/>

Per ulteriori informazioni, consultare https://developer.apple.com/library/archive/qa/qa1798/_index.html#//apple_ref/doc/uid/DTS40014167-CH1-IOS_STEPS

Se qualcuno conosce un modo più semplice / bello, però, mi piacerebbe ascoltarlo.



Su Mojave 10.14.4, il comando sopra stampa altri 8 byte all'avvio: fade7171000000fbrendendo l'XML non valido. Qualche modo per evitarlo o toglierlo?
luckman212

codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" Forse c'è un'altra soluzione, ma è così che spoglio quei byte. Ma non credo sia necessario: puoi fare codesignun'app indicando un xml di diritti e macOS ignorerà comunque quei byte.
JayB,

Aggiungi due punti per omettere quei byte:codesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.