¿Cómo puedo saber qué derechos tiene una aplicación?


28

Las aplicaciones de espacio aislado deben declarar sus derechos. Por supuesto, eso no me sirve de nada si no puedo decir qué derechos declara. Un editor de texto que tenga derechos para Core Location, Network Server y mi libreta de direcciones, sin mi conocimiento, podría ser mucho peor que una aplicación sin caja.

¿Cómo puedo ver qué derechos tiene una aplicación?

Respuestas:


35

Después de buscar más, encontré una respuesta de línea de comandos:

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

Esto imprimirá un plist XML con valores como:

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

Para obtener más información, consulte https://developer.apple.com/library/archive/qa/qa1798/_index.html#//apple_ref/doc/uid/DTS40014167-CH1-IOS_STEPS

Sin embargo, si alguien conoce una forma más fácil / agradable, me encantaría escucharla.


1
También más documentación sobre eso: developer.apple.com/library/content/documentation/Security/…

En Mojave 10.14.4, el comando anterior imprime 8 bytes adicionales al inicio fade7171000000fb, lo que invalida el XML. ¿Alguna forma de evitar eso o quitarlo?
luckman212

codesign -d --entitlements - <filepath> 2>&1 | LANG=C LC_CTYPE=C sed 's/^.*\<\?xml/\<\?xml/g' | grep "<.*>" Quizás haya otra solución, pero así es como elimino esos bytes. Pero no creo que sea necesario: puede hacer codesignuna aplicación señalando un derecho xml, y macOS ignorará esos bytes de todos modos.
JayB

Agregue dos puntos para omitir esos bytes:codesign -d --entitlements :- /Applications/Whatever.app/
artyom.stv
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.