¿Cómo hacer cumplir las reglas de sandbox para la aplicación en particular?

Escribí un file de especificación de sandbox (inspirado en files de /usr/share/sandbox y manuales como este ) y ahora puedo iniciar algunas aplicaciones en sandbox con sandbox-exec $path_to_rules /Applications/$appname.app/Content/... . Multa.

¿Hay alguna manera de hacer cumplir las reglas cuando la aplicación se inicia de manera regular (Finder "Abrir con …", etc.)?

  • ¡macOS Sierra, el tamaño del sistema es más de 180 GB!
  • ¿Hay una aplicación de buscador de terceros que recuerde el ancho de las columnas personalizadas en la Vista de list?
  • ¿Por qué free + active + inactive + speculative + winetworking no es igual a RAM total?
  • La carpeta oculta visible desaparece después de cambiar su nombre por
  • ¿Cómo uso el corrector ortográfico en OSX con varios idiomas?
  • ¿Qué hace que un "package" macOS se muestre como un package?
  • Pensé en replace el binary dentro de .app con el script de envoltura, pero se sobrescribirá después de la actualización de la aplicación y tendré que restaurarlo siempre.

  • La carpeta en gris no se abrirá en el buscador
  • Carpeta de installation pnetworkingeterminada
  • ¿Cómo se llama la característica que te lleva al nombre del file al escribir las primeras letras?
  • ¿Es posible eliminar todas las aplicaciones y extensiones de terminal instaladas de nuevo a native sin realizar una installation limpia de OSX?
  • ¿Existe una descripción completa y detallada de lo que copy el Asistente de Migración?
  • Los separadores de time parpadean de manera incoherente
  • One Solution collect form web for “¿Cómo hacer cumplir las reglas de sandbox para la aplicación en particular?”

    Sí, puedes cambiar el binary, o incluso cambiar el Info.plist, pero al igual que al cambiar el binary que haces necesitarás hacer esto de nuevo cada vez que se actualice la aplicación. No hay forma de hacerlo sin cambiar la aplicación de forma que no se sobrescriba cuando se actualice.

    Puede hacer sus cambios automáticamente con un agente de lanzamiento.
    Guarde lo siguiente en ~/Library/LaunchAgents como com.yourname.youragent.plist , luego ejecute launchctl load ~/Library/LaunchAgents/com.yourname.youragent.plist .

     <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.yourname.youragent</string> <key>OnDemand</key> <true/> <key>Program</key> <string>cp</string> <key>ProgramArguments</key> <array> <string>/Users/grgarside/test/MyApp</string> <string>/Applications/MyApp.app/Contents/MacOS/</string> </array> <key>WatchPaths</key> <array> <string>/Applications/MyApp.app/Contents/MacOS/MyApp</string> </array> </dict> </plist> 

    La secuencia de commands anterior verá WatchPaths para cualquier modificación (en este caso, está viendo el binary de una aplicación) y ejecutará cp para copyr el binary a la aplicación en / Applications.

    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).