अधिसूचना केंद्र में नहीं एप्लिकेशन के लिए डॉक अधिसूचना बैज निकालें


12

उपद्रव ऐप्स के लिए जो बैज अधिसूचना आइकन सेट करते हैं, लेकिन जो सेटिंग नोटिफिकेशन केंद्र में नहीं हैं, क्या बैज आइकन को ब्लॉक करने का कोई तरीका है?


उदाहरण के लिए, Spotify, हर महत्वहीन घटना के लिए एक अधिसूचना बनाता है, जिसमें ऐप में इसे ब्लॉक करने का कोई तरीका नहीं है।

व्यक्तिगत रूप से मुझे यह समझ में नहीं आता है कि पहली बार सूचना केंद्र में एप्लिकेशन को बैज आइकन दिखाए बिना कैसे अनुमति दी जाती है।


उदाहरण:

यहाँ छवि विवरण दर्ज करें


एप्स अपने आइकनों को खराब करते हुए, जैसा कि आपके स्क्रीनशॉट में है, लंबे समय से ओएस एक्स में अधिसूचना केंद्र को शामिल करने से पहले। उन्हें ऐसा करने के लिए अधिसूचना कार्यक्षमता का उपयोग करने की आवश्यकता नहीं है।
ट्यूबडॉग


इसके अलावा, यह सबसे अच्छा फिक्स है जो मैंने अभी तक पाया है: रनिंग ऐप स्टेटस को छिपाते हुए (जो बैज को भी छुपाता है): apple.stackexchange.com/questions/68915/…
y3sh

जवाबों:


27

मेरे पास एक उपाय है कि मैं इंजीनियर को उल्टा करने में सक्षम था। मैंने इसे अपनी मशीन पर परीक्षण किया है, योसेमाइट 10.10.4 (14E46) चल रहा है। यदि आप बंडल आईडी (ऐप बंडल के लिए Info.plist फ़ाइल में) पा सकते हैं, तो आप इस स्क्रिप्ट का उपयोग कर सकते हैं ताकि एप्लिकेशन को सूचनाओं की प्राथमिकताओं में प्रकट होने के लिए बाध्य किया जा सके।

# "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 म्यूजिक पर स्विच करके इसे 'फिक्स्ड' कर रहा हूं।)
जॉन कॉक्स

1
अंतिम रूप से, इस भयानक निगल के लिए एक समाधान। धन्यवाद * 1000.
जोश हैरिसन

1
आप ही है वह आदमी।
उदि

1
मैं बस पुष्टि करना चाहता हूं, कि यह समाधान अभी भी काम करता है!
23tux

1
मैक ओएस 10.14.1 के grep com.apple.notificationcenter/db/db\$साथ बदलने की आवश्यकता है grep 'com.apple.notificationcenter/db2/db$'(संभवतः पहले, मुझे लगता है कि यह 3 साल से अधिक पुराना है)
एलेक्स एस

0

उन लोगों के लिए जो उपरोक्त स्क्रिप्ट बनाने और चलाने के लिए मेरे जैसे मैक नोब हैं:

1. ओपन टेक्स्टएडिट,
2. एडिटर को प्लेन टेक्स्ट मोड में डालें - फॉर्मेट> प्लेन टेक्स्ट बनाएं।
(यदि आप इस चरण को छोड़ देते हैं, तो यह आपको स्क्रिप्ट के रूप में सहेजने नहीं देगा।)
3. उपरोक्त स्क्रिप्ट को TextEdit विंडो में पेस्ट
करें। फ़ाइल को स्क्रिप्ट के रूप में सहेजें - File> Save As in TextEdit। ".Sh" फ़ाइल एक्सटेंशन के बाद अपना फ़ाइल नाम दर्ज करें, और फिर दस्तावेज़ को डेस्कटॉप पर सहेजें।
5. टर्मिनल एप्लिकेशन खोलें
6. टर्मिनल में डेस्कटॉप पर नेविगेट करें - टाइप करें (फिर एंटर दबाएं):

सीडी डेस्कटॉप
7. आपके द्वारा अभी बनाई गई फ़ाइल के लिए अनुमतियाँ सेट करें ताकि आप उसे चला सकें - टाइप इन टर्मिनल (तब एन दबाएँ):
sudo chmod 700 file.sh
(अपनी स्क्रिप्ट के नाम के साथ "file.sh" बदलें।)
8. फ़ाइल चलाएँ - टर्मिनल में टाइप करें:
./file.sh
(फिर, अपनी स्क्रिप्ट के नाम के साथ "file.sh" को बदलें।)
9. सिस्टम प्राथमिकता में खुली अधिसूचनाएं। आपको Spotify ऐप खोजने और सूचनाएं बंद करने में सक्षम होना चाहिए।

स्क्रिप्ट बनाने का स्रोत: टर्मिनल 101: बैश लिपियों के साथ टर्मिनल को स्वचालित करें


1
एक निष्पादन योग्य शेल स्क्रिप्ट बनाने पर अच्छा ट्यूटोरियल, लेकिन उत्कीर्ण समाधान के लिए आपको एक बैश स्क्रिप्ट की आवश्यकता नहीं है। बस टर्मिनल खोलें और कमांड में पेस्ट करें। उन पंक्तियों को छोड़ें, जो # के साथ शुरू होती हैं, क्योंकि यह एक टिप्पणी है।
y3sh
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.