3

在山獅的通知中心(NSUserNotificationCenter)中是否有任何非私人方式知道有多少通知?不只是來自我的應用程序的通知,而是來自所有應用

因此,總結的東西了,我想要做的是恢復此處顯示通知的數量: enter image description here

我試圖四處搜尋,但我無法找到這方面的信息。有任何想法嗎?
在此先感謝!有什麼方法可以知道NSUserNotificationCenter中有多少個NSUserNotifications?

+2

您是否在考慮使用私有API?對此的袖口反應將是,由於應用沙盒,這是不可能的。 –

+0

真是太遺憾了:/我真的在尋找一種公開的方式,但是如果這是不可能的,即使使用私有API,知道它也是非常棒的。 –

+0

在Foundation上運行班級轉儲,沒有任何真正的興趣。唯一可能感興趣的是NSUserNotificationCenter上的_presentedAlerts和_displayedNotifications。但是,這兩種方式似乎只會返回應用程序創建和發佈的內容,而不是其他應用程序創建的內容。缺少通知中心數據庫的位置並手動讀取,我不確定這是可能的,公共還是私有API。 –

回答

7

沒有公共API來訪問來自其他應用程序的通知。訪問這些信息的最好方法是讀取位於~/Library/Application Support/NotificationCenter/<UUID>.db的sqlite數據庫。請注意,只有當您的應用不是沙盒時才能使用。

+0

這似乎沒有工作了,我沒有那個文件。它移動到其他地方了嗎? –

相關問題