Где Mountain Lion's Calendar.app хранит свои настройки?

Программа Calendar.app явно имеет некоторые настройки, которые можно установить.

введите описание изображения здесь

Однако, когда я печатаю defaults read com.apple.Calendar(и различные перестановки с заглавными буквами), я получаю сообщение Domain com.apple.Calendar does not exist. Кроме того, я не нахожу файл ~/Library/Preferencesс отметкой времени, соответствующей внесенным мной изменениям.

Где программа Mountain Lion Calendar хранит свои предпочтения?

Ответы (2)

После выполнения обширного поиска в моем пользовательском каталоге я нашел файл, связанный с Calendar.app, если вы проверите Info.plist, содержащийся в пакете Calendar.app, вы обнаружите, что идентификатор для приложения «Календарь» по-прежнему iCal, а файл, который вы ищете, похож на «com.apple.iCal».

Файлы, которые я нашел с помощью следующего поиска:

$ find /Users/yourusername/ -name com.apple.iCal*

Файлы найдены:

/Users/yourusername/Library/Application Support/SyncServices/Local/clientdata/com.apple.iCal
/Users/yourusername/Library/Caches/com.apple.helpd/Generated/com.apple.iCal.help
/Users/yourusername/Library/Caches/com.apple.helpd/SDMHelpData/AppleExtra/English/HelpSDMIndexFile/com.apple.iCal.help
/Users/yourusername/Library/Caches/com.apple.iCal
/Users/yourusername/Library/Preferences/ByHost/com.apple.iCal.helper.E4000000-0000-0000-0000-000000000000.plist
/Users/yourusername/Library/Preferences/ByHost/com.apple.iCal.helper.E4000000-0000-0000-0000-000000000000.plist.lockfile
/Users/yourusername/Library/Preferences/com.apple.iCal.helper.plist
/Users/yourusername/Library/Preferences/com.apple.iCal.helper.plist.lockfile
/Users/yourusername/Library/Preferences/com.apple.iCal.plist
/Users/yourusername/Library/Preferences/com.apple.iCal.plist.lockfile
/Users/yourusername/Library/Saved Application State/com.apple.iCal.savedState/

Кроме того, я совершенно уверен, что iCal в Mountain Lion использует iCloud для хранения настроек приложения, или, по крайней мере, так и должно быть, поскольку предполагается, что это облачное приложение, охватывающее границы устройств iOS и OS X. Мне нужно будет проверить это дальше и посмотреть, как это работает, когда iCloud включен или нет...

Он должен использовать iCloud, как указано в разделе документации разработчика « Проектирование данных «ключ-значение» в iCloud».

Чтобы хранить в iCloud дискретные значения для настроек приложения, конфигурации приложения или состояния приложения, используйте хранилище iCloud «ключ-значение».

Есть ли способ запросить указанное хранилище ключей-значений из командной строки или посмотреть, какие настройки сохранены в приложении?
@ Дэниел Лоусон, доступ к командной строке будет затруднен. Я бы подумал, что для этого потребуется идентификатор подписи кода или что-то в этом роде для идентификации в качестве приложения для этого пользователя iCloud. Поскольку каждое приложение с поддержкой iCloud имеет хранилище в облаке, доступ к которому есть только у него...
Если я изменю настройку в автономном режиме или настрою учетную запись на своем Mac, у которой нет соответствующей учетной записи iCloud, настройки все равно сохранятся, поэтому должно быть какое-то локальное хранилище настроек…
@DanielLawson, вы пробовали заглянуть в ~/Library/Mobile Documents, там также могут быть копии настроек приложения macobserver.com/tmo/answers/how_to_locally_back_up_documents
Если он там есть, я не могу его найти. Но хорошие указатели.
Также вы проверили ответ Lri, вероятно, iCal - это приложение с кодовой подписью.
В качестве примечания: я не думаю, что хранилище Key Value хранится в мобильных документах, это другой тип хранилища.

Идентификатор пакета по-прежнему com.apple.iCal. Вы можете увидеть это из Info.plistили с чем-то вроде bid() { osascript -e "id of app \"$*\""; }.

Таким образом, список свойств для предпочтений все еще находится в ~/Library/Preferences/com.apple.iCal.plist. Вероятно, он будет перемещен, ~/Library/Containers/com.apple.iCal/Data/Library/Preferences/com.apple.iCal.plistесли Apple изолирует Календарь.