【问题标题】:Can the user edit the plist from outside the app?用户可以从应用程序外部编辑 plist 吗?
【发布时间】:2021-01-06 14:53:22
【问题描述】:

我正在使用 UserDefaults 来保存一些持久性数据(应用程序的状态,而不是需要保护的东西)。此数据 (AFAIK) 保存在 plist 中。用户可以在应用程序之外编辑此 plist 吗? 我试过了,虽然看起来可能,但当我运行应用程序时,它会用应用程序中的最后一个值覆盖更改。 如果不可能,那么“defaults write ...”命令(通过终端)有什么用?

这个问题与 iOS 和 macOS 都有关

【问题讨论】:

    标签: ios macos plist


    【解决方案1】:

    这取决于您如何使用 UserDefaults。 UserDefaults 实际上只不过是一个字典,它可以方便地读取/写入 plist 文件。您可以自行决定该文件的存储位置,从而决定它是否可以由应用程序外的用户更改。您负责在启动时读取值,并可能在它们动态更改时读取它们。

    在 iOS 上,仅当您使用 UserDefaults.standard 时,plist 文件才会放置在 Apple 的“设置”应用可访问和管理的位置。在适当的时候读取/写入默认值仍然是您的责任。不确定这在 MacOS 上是如何工作的。

    如果它们在应用启动时被重置,很可能是应用在启动时显式覆盖它们。

    【讨论】:

    • 我没有使用 UserDefaults.standard 所以这可能是它无法访问的原因。我找不到有关此行为的任何文档。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多