Entfernen Sie das Dock-Benachrichtigungsabzeichen für Apps, die sich nicht im Benachrichtigungscenter befinden

12

Gibt es für störende Apps, die ein Ausweisbenachrichtigungssymbol festlegen, sich aber nicht im Einstellungsbenachrichtigungscenter befinden, eine Möglichkeit, das Ausweissymbol zu blockieren?


Spotify erstellt beispielsweise eine Benachrichtigung für jedes unbedeutende Ereignis, ohne es in der App blockieren zu können.

Persönlich verstehe ich nicht, wie Apps ein Ausweissymbol anzeigen dürfen, ohne sich überhaupt im Benachrichtigungscenter zu befinden.


Beispiel:

Geben Sie hier die Bildbeschreibung ein

Jon Cox
quelle
Apps, die ihre Symbole wie in Ihrem Screenshot mit einem Bad versehen, gingen der Aufnahme von Notification Center in OS X lange voraus. Sie müssen hierfür keine Benachrichtigungsfunktionen verwenden.
Tubedogg
Dies ist auch die beste Lösung, die ich bisher gefunden habe: Verstecke den Status der laufenden App während der Ausführung (wodurch auch das Abzeichen ausgeblendet wird
y3sh

Antworten:

27

Ich habe eine Lösung, die ich zurückentwickeln konnte. Ich habe es auf meinem Computer getestet und Yosemite 10.10.4 (14E46) ausgeführt. Wenn Sie die Bundle-ID finden (in der Datei Info.plist für das App-Bundle), können Sie dieses Skript verwenden, um zu erzwingen, dass die App im Bereich mit den Benachrichtigungseinstellungen angezeigt wird.

# "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

Zu diesem Zeitpunkt können Sie die Systemeinstellungen -> Benachrichtigungen öffnen. Die App, die Sie gerade hinzugefügt haben, finden Sie am Ende der Liste. Sie können das Symbol auf dieser Seite aktivieren / deaktivieren.

Ryan Patterson
quelle
2
Sehr clevere Lösung, danke Ryan! (Obwohl ich es jetzt 'behoben' habe, indem ich Spotify fallen ließ und zu Apple Music wechselte.)
Jon Cox
1
ENDLICH eine Lösung für dieses schreckliche Problem. Vielen Dank * 1000.
Josh Harrison
1
Du bist der Mann.
Udi
1
Ich möchte nur bestätigen, dass diese Lösung immer noch funktioniert!
23tux
1
Notwendigkeit zu ersetzen , grep com.apple.notificationcenter/db/db\$mit grep 'com.apple.notificationcenter/db2/db$'wie von Mac OS 10.14.1 (möglicherweise vor, sehe ich mehr als 3 Jahre alt ist bereits)
Alex S
0

Für diejenigen, die Mac-Noobs wie ich sind, um das obige Skript zu erstellen und auszuführen:

1. Öffnen Sie TextEdit.
2. Versetzen Sie den Editor in den Nur-Text-Modus - Format> Nur-Text erstellen.
(Wenn Sie diesen Schritt überspringen, können Sie ihn nicht als Skript speichern.)
3. Fügen Sie das obige Skript in das TextEdit-Fenster ein.
4. Speichern Sie die Datei als Skript - Datei> Speichern unter in TextEdit. Geben Sie Ihren Dateinamen gefolgt von der Dateierweiterung ".sh" ein und speichern Sie das Dokument auf dem Desktop.
5. Öffnen Sie die Terminal-Anwendung.
6. Navigieren Sie unter Terminal zum Desktop - Geben Sie ein (und drücken Sie die Eingabetaste):

CD-Desktop
7. Legen Sie die Berechtigungen für die gerade erstellte Datei fest, damit Sie sie ausführen können. Geben Sie Terminal ein (und drücken Sie dann en):
sudo chmod 700 file.sh
(Ersetzen Sie "file.sh" durch den Namen Ihres Skripts.)
8. Führen Sie die Datei aus - Geben Sie Terminal ein:
./file.sh
(Ersetzen Sie erneut "file.sh" durch den Namen Ihres Skripts.)
9. Öffnen Sie Benachrichtigungen in den Systemeinstellungen. Sie sollten in der Lage sein, die Spotify-App zu finden und die Benachrichtigungen zu deaktivieren.

Quelle zum Erstellen eines Skripts: Terminal 101: Automatisieren Sie das Terminal mit Bash-Skripten

Ch333
quelle
1
Gutes Tutorial zum Erstellen eines ausführbaren Shell-Skripts, aber für die optimierte Lösung benötigen Sie kein Bash-Skript. Öffnen Sie einfach das Terminal und fügen Sie die Befehle ein. Überspringen Sie Zeilen, die mit einem # beginnen, da dies ein Kommentar in bash ist.
y3sh