【问题标题】:Where are the application preference files location on MacMac 上的应用程序首选项文件位置在哪里
【发布时间】:2023-03-12 03:22:01
【问题描述】:

我很难找到我的应用程序从何处获取其窗口停靠和位置设置。我从以下目录中删除了相关的 plist 文件和文件夹:

  1. [用户]/库/首选项
  2. [USER]/Library/Preferences/By Host
  3. [USER]/库/缓存
  4. [USER]/Library/保存的应用程序状态

但是当我启动应用程序时,旧的窗口设置会保留下来。应用程序正在使用 CFPreferencesCopyValue 方法来读取偏好值:

::CFPreferencesCopyValue("Toolbars:MyTools:Application", "kCFPreferencesCurrentApplication", kCFPreferencesCurrentUser, kCFPreferencesCurrentHost);

我对 Mac 的偏好机制不是很熟悉。有人可以解释这里会发生什么吗?谢谢

【问题讨论】:

    标签: macos plist preferences core-foundation


    【解决方案1】:

    Mavericks 上的NSUserDefaults(至少)是缓存的,不建议手动编辑 plist 文件。实际文件位于容器文件夹中(您可能从沙盒中知道此文件夹)。

    但是您可以使用命令行实用程序defaults来编辑、更改或删除首选项。要删除默认值(= 为您的应用重置默认值),您可以在终端中运行:

    defaults delete com.myapp.* && rm -rf ~/Library/Preferences/com.myapp.*
    

    这取自detail explanations on user defaults and mavericks 中显示的博客条目。

    【讨论】:

      【解决方案2】:

      这个问题最近碰到了我,所以我想我会迟些在这里发布答案。

      当您在 Mac 上删除首选项(plist 文件)时,请确保清除缓存的首选项,否则 Java 程序可以继续使用缓存的设置。 你可以:

      1. 删除 plist 文件后

      2. killall -u <your-user-name> cfprefsd

      3. 重启

      项目 2. 和 3. 将导致缓存被清除,然后您的首选项将在 cfprefsd 自动重新启动时重新加载。

      希望对你有帮助。

      【讨论】:

      • 第二步的命令不应该是“killall -u cfprefsd”吗?
      • 感谢 WallTearer。我将其更改为“代码”格式,现在 显示我没有仔细检查过。
      猜你喜欢
      • 1970-01-01
      • 2014-08-15
      • 2010-10-15
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2019-09-11
      • 2021-12-24
      • 1970-01-01
      相关资源
      最近更新 更多