通知センターにないアプリのドック通知バッジを削除する


12

バッジ通知アイコンを設定しているが、設定通知センターにない迷惑アプリの場合、バッジアイコンをブロックする方法はありますか?


たとえば、Spotifyは、重要でないイベントごとに通知を作成しますが、アプリでブロックする方法はありません。

個人的には、そもそも通知センターにいなくてもアプリがどのようにバッジアイコンを表示できるかを理解していません。


例:

ここに画像の説明を入力してください


スクリーンショットのように、アイコンにバッジを付けるアプリは、OS Xに通知センターを含めるよりもずっと前から行われていました。通知機能を使用する必要はありません。
tubedogg 14年


:(また、バッジを非表示にする)の実行中に非表示アプリの状態を実行している:また、これは私がまだ見つけた最高の修正です apple.stackexchange.com/questions/68915/...
y3sh

回答:


27

リバースエンジニアリングできるソリューションがあります。Yosemite 10.10.4(14E46)を実行して、マシンでテストしました。(アプリバンドルのInfo.plistファイルで)バンドルIDを見つけることができる場合、このスクリプトを使用して、アプリを通知設定ペインに強制的に表示できます。

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

この時点で、[システム環境設定]-> [通知]を開くと、リストの下部に追加したアプリが表示されます。このページからアイコンのバッジを有効/無効にすることができます。


2
非常に賢い解決策、ライアンに感謝します!(SpotifyをドロップしてApple Musicに切り替えることで、これを「修正」しました。)
ジョンコックス

1
最後に、この恐ろしいニグルの解決策。1000 *ありがとう
ジョシュ・ハリソン

1
あなたは男です。
あるUdi

1
このソリューションがまだ機能していることを確認したいだけです!
23tux

1
交換する必要があるgrep com.apple.notificationcenter/db/db\$grep 'com.apple.notificationcenter/db2/db$'のMac OS 10.14.1(おそらく前に、私はこれはすでに3歳以上である参照)のよう
アレックスS

0

私のようなMac初心者の場合、上記のスクリプトを作成して実行するには:

1. TextEditを開きます
。2.エディターをプレーンテキストモードにします-[書式]> [プレーンテキストの作成]。
(この手順をスキップすると、スクリプトとして保存できません。)
3 . 上記のスクリプトをTextEditウィンドウに貼り付けます
。4.ファイルをスクリプトとして保存します-TextEditで[ファイル]> [名前を付けて保存]。ファイル名の後に「.sh」ファイル拡張子を入力し、ドキュメントをデスクトップに保存します。
5.ターミナルアプリケーションを開きます
6. ターミナル のデスクトップに移動します-入力します(Enterキーを押します)。

cdデスクトップ
7.作成したばかりのファイルの許可を設定して、実行できるようにします-ターミナルに入力します(その後、enを押します)。
sudo chmod 700 file.sh
(「file.sh」をスクリプトの名前に置き換えます。)
8 . ファイルを実行します-ターミナルに入力します:
./file.sh
(ここでも、「file.sh」をスクリプトの名前に置き換えます。)
9.システム環境設定で通知を開きます。Spotifyアプリを見つけて、通知をオフにできるはずです。

スクリプト作成のソース:ターミナル101:Bashスクリプトでターミナルを自動化する


1
実行可能なシェルスクリプトを作成するための優れたチュートリアルですが、アップグレードされたソリューションの場合、bashスクリプトは必要ありません。ターミナルを開いてコマンドを貼り付けるだけです。#で始まる行はスキップします。これはbashのコメントだからです。
y3sh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.