যেমন আর্থার হামার দ্বারা সংযুক্ত ছিল, https://apple.stackexchange.com/a/142811/37689 সূচনা করে যে কোনও এসকিউএল ডাটাবেসে বিজ্ঞপ্তিগুলি সংরক্ষণ করা হয়। নিম্নলিখিত পাইথন স্ক্রিপ্টটি আপনাকে শুরু করা উচিত:
#!/usr/bin/env python
import os
import re
import sqlite3
# Location of notification centers database under Yosemite
tmp = os.environ['TMPDIR']
conn = sqlite3.connect(tmp + '/../0/com.apple.notificationcenter/db/db')
for notification in conn.execute('SELECT * from notifications'):
encoded_data = str(notification[-1]) # last item
clean = re.sub('[^\w\s-]', '', encoded_data) # remove some funny stuff (fixme: removes too much?)
sp = clean.split('\t')
# Find NSActualdeliverydate, message content seems to always come after this
for ix in range(len(sp)):
if 'NSActualdeliverydate' in sp[ix]:
break
# Skip blanks
for ix in range(ix+1, len(sp)):
if sp[ix] != '': break
print 'notification', sp[ix].replace('_', '\n').strip()
conn.close()
এরপরে আপনি এটি কোনও ফাইলে পাইপ করতে পারেন এবং তারপরে ফাইলটি গ্রেপ করতে পারেন বা সরাসরি স্ক্রিপ্টের আউটপুটটিকে গ্রেপ করতে পারেন।