拆除通知中心的应用(Remove application from Notification Cen

2019-06-27 03:00发布

嘿,我是玩弄制作小可可应用,并使用在山狮新的通知中心API。 但是我的应用程序现在出现在通知中心设置,以及日历,邮件等在一起。

由于这只是我玩弄我希望它从列表现在消失了,但我无法找到无论如何将其删除,试过几件事情,拖出来,拿着ALT +鼠标右键等等。 有谁知道在哪里了(可能是)的plist用于填充该列表可以在什么位置?

Answer 1:

我被困在同一条船上。

虽然我不相信清除从曾经登记是一个记录的步骤通知中心的应用程序,有明确的一些东西的设置做到这一点。 下面是我发现了什么。 该数据不存储在一个plist中,而是一个SQLite数据库。

如果你看看~/Library/Application Support/NotificationCenter/<id>在我的情况,我只用了通知中心下一个目录),你会看到一个<id>.db目录下的文件。

编者按 : HOFI指出, 由于MACOS 10.10说SQLite数据库可以通过在shell命令返回的目录中找到
$(getconf DARWIN_USER_DIR)com.apple.notificationcenter/db ,命名只是db

里面戳,我看到这样的表app_infoapp_sourcepresented_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您的应用程序,第二列是你的应用程序的bundleid。 查找基础上,bundleid您的应用程序。 然后做一个

delete from app_info where app_id = <app_id>

这里是你发现使用上面的SELECT命令正确APP_ID。

什么是令人沮丧的是,这样做后,一切都在通知中心待了(包括中央和系统偏好设置)。 我不得不注销并重新登录才能看到这些更改生效,但幸运的是,我的多个测试应用程序现在都没有了;-)

如果任何人的少令人费解的方式知道,我所有的耳朵。



Answer 2:

如果您删除的应用程序(可能需要清空回收站为好),并注销并重新登录的,它会从列表中删除。



Answer 3:

下面,也许是严厉的做法似乎为我工作,当我进入这个烂摊子。 它避免了改变的AppID /等。 至少。

  1. 退出的XCode
  2. rm -rf ~/Library/Developer/Xcode/DerivedData/*
  3. killall usernoted
  4. killall NotificationCenter
  5. rm ~/Library/Application Support/NotificationCenter/*
  6. 打开系统偏好设置→通知(这似乎重新启动一切)

重启/注销未在此方法所需。



Answer 4:

我只是更名的通知中心文件夹中的文件,然后重新启动。 一个新的文件被创建,其用只是默认应用填充。



Answer 5:

我曾与BetterTouchTool不卸载后,通知中心消失麻烦。 不幸的是,这里所说的方法,并没有为我工作,但我想它最终会。

对于遇到了麻烦这下高塞拉利昂工作的人:

  1. 在终端,导航到通知中心文件夹中:

     cd $(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/ 
  2. 使用PWD获得路径复制到剪贴板(应该是这样的/var/folders/c3/289nmdsd2cz68yd5p47k553w0000gn/0/com.apple.notificationcenter)

     pwd 
  3. 在取景器,转到文件夹(CMD +移+克)和糊路径
  4. 找到包含数据库文件的文件夹并拖动整个文件夹拖至回收站(我只有一个名为“DB2”一个文件夹)
  5. 清空垃圾桶! (这是非常重要的,没有它我的机器上没有工作)
  6. 注销并再次

有可能是一个更优雅的方式,但是这个工作对我来说。 需要注意的是由于某种原因,该数据库中获取与APPLICATION_ID在db表仍然存在(这被称为重建app ,而不是app_id在高塞拉利昂,顺便说一句),但该条目从通知中心消失。



Answer 6:

您可以从Xcode中很容易地做到这一点。

打开Organizer ,然后选择Projects顶部标签。 你会看到你在左侧的所有应用程序的列表。 对于要删除,从左侧的菜单中选择它,并选择任何应用程序中Delete...用于Derived Data

这仍保留在通知中心的任何用户的设置,以及通知自己。



Answer 7:

更改项目中,你是在调用玩弄用户通知代码

[[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications];

从应用程序委托的方法-applicationDidFinishLaunching: 这将从用户通知中心中删除所有用户的通知。



Answer 8:

  1. 转到搜索器
  2. 搜索Macintosh HD中选项卡下的“本机”
  3. 单击应用程序
  4. 按Shift +命令+ G
  5. 键入〜/库
  6. 单击应用程序支持
  7. 点击通知中心
  8. 拖动是有垃圾桶的唯一文件
  9. 退出所有要去应用
  10. 清空垃圾桶
  11. 重新开始

Tadaaa! 该应用程序已被删除您的通知中心永久地根据个人经验。



Answer 9:

我试图删除的通知,但对我来说这是一个网站(9to5Mac的)要准确。 我可以在系统偏好看它| 通知并将其设置为禁用,但我继续得到通知。 我终于弄明白了。 对于网站,你必须进入Safari浏览器,然后选择Safari偏好| 网站,然后通知,然后找到网站,将它设置为拒绝或只是删除它完全。 我删除9to5Mac的这里,一旦我做到了,这是从一般的通知中心去为好,什么是皮塔! 但至少有一个办法。

此外,从我的搜索我也有源码浏览器中打开的通知DB文件和我的网站的通知“应用程序”是不被发现,在Safari所以你必须删除/禁用它来代替。



文章来源: Remove application from Notification Center