webentwicklung-frage-antwort-db.com.de

Anwendung aus dem Benachrichtigungscenter entfernen

Hey, ich habe mit dem Erstellen einer kleinen Kakaoanwendung herumgespielt und die neue Notification Center API in Mountain Lion verwendet. Meine App ist jedoch jetzt zusammen mit Kalender, Nachrichten usw. in den Einstellungen des Benachrichtigungszentrums vorhanden.

Da ich nur herumgespielt habe, möchte ich, dass es jetzt von der Liste verschwindet, aber ich kann es sowieso nicht finden, es zu entfernen. Ich habe einige Dinge ausprobiert, herausgezogen, Alt + Rechts-Klick gedrückt gehalten und so weiter. Weiß jemand, wo die (wahrscheinlich eine) Liste, die diese Liste enthält, gefunden werden könnte?

18
Krajsnick

Ich war im selben Boot festgefahren.

Ich glaube nicht, dass das Löschen von Anwendungen aus dem Notification Center, die sich einmal registriert haben, ein dokumentierter Schritt ist. Hier ist was ich herausgefunden habe. Diese Daten werden nicht in einer Liste gespeichert, sondern in einer SQLite-Datenbank. 

Wenn Sie ~/Library/Application Support/NotificationCenter/<id> Suchen (in meinem Fall hatte ich nur ein Verzeichnis unter NotificationCenter), wird unter dem Verzeichnis eine <id>.db-Datei angezeigt. 

Anmerkung des Herausgebers : Hofi weist darauf hin, dass seit macOS 10.10 besagte SQLite-Datenbank in dem vom Shell-Befehl zurückgegebenen Verzeichnis zu finden ist
$(getconf DARWIN_USER_DIR)com.Apple.notificationcenter/db, nur db genannt.

Wenn ich hinein stecke, sehe ich Tabellen wie app_info, app_source, presented_notifications usw. Außerdem enthält das Schema einen Bereinigungsauslöser, der folgendermaßen aussieht:

CREATE TRIGGER app_deleted AFTER DELETE ON app_info
BEGIN
    DELETE FROM scheduled_notifications     WHERE app_id=old.app_id;
    DELETE FROM presented_notifications     WHERE app_id=old.app_id;
    DELETE FROM presented_alerts                WHERE app_id=old.app_id;
    DELETE FROM notifications                   WHERE app_id=old.app_id;
    DELETE FROM app_Push                        WHERE app_id=old.app_id;
    DELETE FROM app_loc                     WHERE app_id=old.app_id;
     DELETE FROM app_source                 WHERE app_id=old.app_id;
END;

Verwenden Sie einen sqlite3-Client, wenn Sie a

select * from app_info;

die erste Spalte ist der app_id Ihrer Anwendung, die zweite Spalte ist das Bundle Ihrer App. Finden Sie Ihre Anwendung anhand des Bundleins. Dann mache eine

delete from app_info where app_id = <app_id>

wo ist die richtige app_id, die Sie mit Ihrem select-Befehl oben gefunden haben.

Was frustrierend war, war, dass danach alles im NotificationCenter (sowohl in der Mitte als auch in den Systemeinstellungen) angezeigt wurde. Ich musste mich abmelden und wieder einloggen, um die Änderungen wirksam werden zu sehen, aber zum Glück sind meine mehreren Test-Apps jetzt verschwunden ;-)

Wenn jemand einen weniger verschlungenen Weg kennt, bin ich ganz Ohr.

31
SeafoodBuffet

Wenn Sie die Anwendung löschen (möglicherweise müssen Sie auch den Papierkorb leeren) und sich ab- und wieder anmelden, wird sie aus der Liste entfernt.

7
Matt

Der folgende, vielleicht schwerfällige Ansatz scheint für mich zu funktionieren, wenn ich in dieses Chaos gerate. Vermeidet zumindest das Ändern von AppID/etc;

  1. beenden Sie XCode
  2. rm -rf ~/Library/Entwickler/Xcode/DerivedData/*
  3. killall mitbenannt
  4. killall NotificationCenter
  5. rm ~/Library/Anwendungssupport/NotificationCenter/*
  6. Öffnen Sie die Systemeinstellungen -> Benachrichtigungen (dies scheint alles neu zu starten)

Bei dieser Methode ist kein Neustart/Abmelden erforderlich.

4
Puffin

Ich hatte Probleme mit BetterTouchTool, das nach der Deinstallation nicht aus dem Notification Center verschwindet. Leider haben die hier genannten Methoden für mich nicht funktioniert, aber ich habe es letztendlich herausgefunden.

Für alle, die Schwierigkeiten haben, dies unter High Sierra zu erreichen:

  1. Navigieren Sie im Terminal zum NotificationCenter-Ordner:

    cd $(getconf DARWIN_USER_DIR)/com.Apple.notificationcenter/
    
  2. holen Sie sich den Pfad mit pwd und kopieren Sie ihn in die Zwischenablage (sollte etwas wie /var/folders/c3/289nmdsd2cz68yd5p47k553w0000gn/0/com.Apple.notificationcenter sein)

    pwd
    
  3. Gehen Sie im Finder in den Ordner (cmd + shift + g) und fügen Sie den Pfad ein
  4. Suchen Sie den Ordner, der die Datenbankdatei enthält, und ziehen Sie den gesamten Ordner in den Papierkorb . (Ich hatte nur einen Ordner mit dem Namen "db2").
  5. Leerer Müll! (Dies ist sehr wichtig, funktionierte auf meiner Maschine nicht)
  6. Abmelden und erneut anmelden

Es könnte einen eleganteren Weg geben, aber das hat für mich funktioniert. Beachten Sie, dass die Datenbank aus irgendeinem Grund neu erstellt wird, wobei die application_id noch in der db-table (die app anstelle von app_id in High Sierra genannt wird) vorhanden ist. btw), der Eintrag ist jedoch aus der Benachrichtigungszentrale verschwunden.

1
codejunky

Ich habe die Datei einfach im NotificationCenter-Ordner umbenannt und dann neu gestartet. Es wurde eine neue Datei erstellt, die nur mit den Standard-Apps gefüllt wurde.

1
Ed Burke

Ich habe versucht, eine Benachrichtigung zu entfernen, aber in meinem Fall musste eine Website (9to5mac) genau sein. Ich könnte es in den Systemeinstellungen | sehen Benachrichtigungen und legen Sie fest, dass es deaktiviert ist, aber ich erhielt weiterhin Benachrichtigungen. Ich habe es endlich herausgefunden. Für Websites müssen Sie in Safari gehen, dann in Safari-Einstellungen | Websites, dann Benachrichtigungen, dann finden Sie die Website und setzen Sie sie entweder auf "Ablehnen" oder entfernen Sie sie einfach. Ich habe 9to5mac hier entfernt und als ich das getan habe, war es auch aus dem allgemeinen Benachrichtigungscenter verschwunden, was für eine Pita! aber es gibt zumindest einen weg.

Auch von meiner Suche aus habe ich die Benachrichtigungs-DB-Datei mit einem sqlite-Browser geöffnet, und meine Webbenachrichtigung "app" war nicht zu finden. Daher müssen Sie sie in Safari löschen/deaktivieren.

0
user2378432

Ändern Sie den Code in dem Projekt, in dem Sie Benutzerbenachrichtigungen abgelegt haben, um aufzurufen

[[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications];

von der Methode Ihres App-Delegaten -applicationDidFinishLaunching:. Dadurch werden alle Benutzerbenachrichtigungen aus dem Benutzerbenachrichtigungscenter entfernt.

0
Nate Chandler
  1. Zum Finder gehen
  2. Suche Macintosh HD unter dem Tab "This Mac"
  3. Klicken Sie auf Anwendungen
  4. Drücken Sie Umschalt + Befehlstaste + G
  5. Geben Sie ~/library ein
  6. Klicken Sie auf Anwendungsunterstützung
  7. Klicken Sie auf Benachrichtigungscenter
  8. Ziehen Sie die einzige vorhandene Datei in den Papierkorb
  9. Beenden Sie alle laufenden Apps 
  10. Leerer Müll
  11. Neustart

Tadaaa! Die Anwendung wurde aufgrund persönlicher Erfahrungen dauerhaft zu Ihrem Benachrichtigungscenter entfernt. 

0

Sie können dies leicht von Xcode aus tun.

Öffnen Sie Organizer und wählen Sie oben die Registerkarte Projects aus. Auf der linken Seite sehen Sie eine Liste aller Anwendungen. Für jede Anwendung, die Sie entfernen möchten, wählen Sie sie im linken Menü aus und wählen Sie Delete... für den Derived Data.

Dadurch bleiben alle Benutzereinstellungen im Notification Center sowie die Benachrichtigungen selbst erhalten.

0
David V