Di OS X Yosemite dimungkinkan untuk memiliki preferensi yang dibagikan di antara beberapa aplikasi yang ada di App Group yang sama. Di sisi pengembangan, sesederhana menyiapkan Grup Aplikasi dan kemudian menggunakan [[NSUserDefaults alloc] initWithSuiteName:@"TEAMID.com.company.AppGroup"]
daripada yang biasa [NSUserDefaults standardUserDefaults]
. Preferensi ini disimpan ~/Library/Group\ Containers/TEAMID.com.company.AppGroup/Library/Preferences/TEAMID.com.company.AppGroup.plist
.
Yang saya coba cari tahu adalah bagaimana memodifikasi preferensi tersebut dari luar aplikasi menggunakan perintah default. Sejauh ini yang terbaik yang saya temukan adalah ini:
defaults write ~/Library/Group\ Containers/TEAMID.com.company.AppGroup/Library/Preferences/TEAMID.com.company.AppGroup PreferenceName -bool YES
Jenis ini berfungsi untuk memodifikasi file .plist yang benar dan memperbarui preferensi yang saya kirimi. Tapi sepertinya tidak kompatibel dengan caching yang digunakan di Yosemite. Segera setelah aplikasi mencoba membaca preferensi yang sama, itu kembali ke apa yang telah ditetapkan sebelumnya.
Apakah ada cara untuk membuat pekerjaan ini andal?