【问题标题】:Where are user defaults plist files stored in iOS8?iOS8 中存储的用户默认 plist 文件在哪里?
【发布时间】:2014-10-10 00:28:01
【问题描述】:

我找不到首选项 .plist 文件,因为首选项文件夹是空的。 要获取我使用的库文件夹:

println(NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)[0])

Xcode 6 beta 5,iOS 模拟器

【问题讨论】:

    标签: ios-simulator nsuserdefaults ios8


    【解决方案1】:

    iOS8下文件夹层次结构发生了变化。

    所有首选项现在都存储在公共/Library/Preferences 文件夹下。请注意,这不是您应用容器下的Library 文件夹,而是一般的Library 文件夹。

    对于模拟器,确切的文件夹是:

    ~/Library/Developer/CoreSimulator/Devices/<Unique Simulator ID>/data/Library/Preferences
    

    【讨论】:

    • 另一个问题,为什么 Apple 会这样做?唯一的模拟器 ID、唯一的应用 ID……为什么这么复杂?
    • @ChikabuZ:在 Xcode 6 之前,模拟器在不同模拟器实例之间共享目录。这意味着如果你有一个应用程序并在 iPhone 和 iPad 模拟器中启动它,它们会访问相同的文件,这会导致在真实设备上不存在的问题。我不得不工作几次,例如在一个应用程序中下载不同大小的图像,具体取决于它是在 iPhone 还是 iPad 上运行。随着新的 CoreSimulator 及其分离,这些问题都消失了。
    • @ChikabuZ 这只是 UUID。这不是一个名字,它是一个唯一的标识符
    • UUID 是唯一的,而人类可读的名称则不是。您可以将模拟器命名为相同的名称,您可以为其指定文件夹名称中不能出现的特殊字符。使用 UUID 非常简单。
    • @ChikabuZ:它们是独特的,不会发生冲突……这是确保两个不同的模拟器实例不会相互干扰的简单而好方法。即使您重命名模拟器,UUID 也将保持不变,并且目录也不需要重命名(这可能会再次引发冲突)。从技术角度来看,这是一个好方法。如果您不同意,可以通过提交错误报告告诉 Apple。
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-19
    • 2019-07-27
    • 2015-11-30
    相关资源
    最近更新 更多