Eliminar el distintivo de notificación de base para aplicaciones que no se encuentran en el centro de notificaciones

12

Para aplicaciones molestas que configuran un ícono de notificación de credencial, pero que no están en el Centro de notificaciones de configuración, ¿hay alguna forma de bloquear el ícono de credencial?


Spotify, por ejemplo, crea una notificación por cada evento insignificante, sin forma de bloquearlo en la aplicación.

Personalmente no entiendo cómo se permite que las aplicaciones muestren un icono de credencial sin estar en el centro de notificaciones en primer lugar.


Ejemplo:

    
pregunta Jon Cox 27.10.2014 - 12:17

2 respuestas

26

Tengo una solución que pude realizar ingeniería inversa. Lo he probado en mi máquina, ejecutando Yosemite 10.10.4 (14E46). Si puede encontrar la ID del paquete (en el archivo Info.plist para el paquete de la aplicación), puede usar este script para forzar que la aplicación aparezca en el panel de preferencias de notificaciones.

# "Usernoted" seems to be the "user notifications daemon", so get it's PID.
pid=$(ps aux | grep -i [u]sernoted | awk '{print $2}')

# Find the sqlite3 database that this program has open. It's in a "private" folder (app sandboxing).
db="$(lsof -p $pid | grep com.apple.notificationcenter/db/db\$ | awk '{print $9}')"

# I got the bundleid from Spotify.app/Contents/Info.plist
bundleid="com.spotify.client"

# I use 0 as the flags because you can change all the settings in System Preferences
# 5 seems to be the default for show_count
# Grab the next-highest sort order
sql="INSERT INTO app_info (bundleid, flags, show_count, sort_order) VALUES ( '$bundleid', 0, 5, (SELECT MAX(sort_order) + 1 FROM app_info) );"

# Run the command
sqlite3 "$db" "$sql"

# Restart usernoted to make the changes take effect
killall usernoted

En este punto, puede abrir Preferencias del sistema - > Notificaciones, y encontrará la aplicación que acaba de agregar al final de la lista. Puede habilitar / deshabilitar el distintivo del icono desde esta página.

    
respondido por el Ryan Patterson 03.07.2015 - 19:05
0

Para aquellas personas que son Mac Noobs como yo, para crear y ejecutar el script anterior:

1. Abra TextEdit,
2. Ponga el editor en modo de texto sin formato: Formato > Hacer texto sin formato.
(Si omite este paso, no le permitirá guardarlo como un script).
3. Pegue el script anterior en la ventana TextEdit
4. Guarde el archivo como una secuencia de comandos - Archivo > Guardar como en TextEdit. Ingrese su nombre de archivo seguido de la extensión de archivo ".sh" y luego guarde el documento en el escritorio.
5. Abra la aplicación Terminal
6. Navegue hasta el escritorio en la Terminal - Escriba (luego presione enter):

cd Desktop
7. Establezca los permisos para el archivo que acaba de crear para que pueda ejecutarlo. Escriba Terminal (luego presione en):
sudo chmod 700 file.sh
(Reemplace "file.sh" con el nombre de su script.)
8. Ejecuta el archivo - Escribe en la Terminal:
./file.sh
(De nuevo, reemplace "file.sh" con el nombre de su script.)
9. Abrir notificaciones en las preferencias del sistema. Debes poder encontrar la aplicación Spotify y desactivar las notificaciones.

Fuente para crear una secuencia de comandos: Terminal 101: Automatice la Terminal con Bash Scripts  

    
respondido por el Ch333 31.08.2015 - 18:29

Lea otras preguntas en las etiquetas