私は同じ船に閉じ込められました。
一度登録したアプリケーションを Notification Center からパージすることが文書化されたステップだとは思いませんが、それを行うためのセットアップがいくつかあることは明らかです。これが私が見つけたものです。このデータは plist ではなく、sqlite データベースに保存されます。
見てみると~/Library/Application Support/NotificationCenter/<id>
(私の場合、NotificationCenter の下に 1 つのディレクトリしかありませんでした)、ディレクトリの下に<id>.db
ファイルが表示されます。
編集者注: Hofiは、macOS 10.10 以降、 SQLite データベースはシェル コマンドによって返されたディレクトリにあり
$(getconf DARWIN_USER_DIR)com.apple.notificationcenter/db
、名前はdb
.
内部を調べてみるとapp_info
、app_source
、presented_notifications
、 などのテーブルが表示されます。さらに、スキーマには次のようなクリーンアップ トリガーが含まれています。
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;
する場合は、sqlite3 クライアントを使用します。
select * from app_info;
最初の列はapp_id
アプリケーションの です。2 番目の列はアプリの bundleid です。bundleid に基づいてアプリケーションを見つけます。次に、
delete from app_info where app_id = <app_id>
は、上記の select コマンドを使用して見つけた正しい app_id です。
イライラしたのは、これを行った後、すべてが NotificationCenter に残っていたことです (センターとシステム設定の両方)。変更が有効になるのを確認するには、ログアウトしてから再度ログインする必要がありましたが、幸いなことに、複数のテスト アプリがなくなりました ;-)
より複雑でない方法を誰かが知っていれば、私はすべて耳にします。