【问题标题】:Nested settings with plists: creating additional settings page doesn't work in iOS带有 plist 的嵌套设置:创建附加设置页面在 iOS 中不起作用
【发布时间】:2013-03-10 18:44:22
【问题描述】:

我正在尝试通过使用 pLists 和 Xcode 4.6 来实现我的应用设置的嵌套结构。

到目前为止我所做的尝试:

我确实遵循了 Apple 文档中的教程,here the link to the part where it comes to creating and additional settings page file

我添加了一个包含不同项目的设置包,它们可以完美运行。当涉及到我的子窗格时,我使用 Filename “childsetting”引用了一个文件,并使用 Finder 将 plist childsetting.plist 添加到了我的设置包中。

问题:

当我控制单击我的 plist 并从属性列表类型选项中选择“iPhone 设置 plist”时,它不会接受我的选择。

起初,一切看起来都很好:

但是在单击不同的文件并单击返回到我的 childsetting.plist 后,Root 元素仍然是 Root 而不是“iPhone Settings Schema”。

编辑 XML 源、清理和构建项目、重新启动 XCode 或重新安装应用程序都不起作用。它总是回到同样的问题:子窗格是空的。看起来 pList 没有找到 - 我猜是因为它没有被识别为 iPhone 设置架构。

【问题讨论】:

  • 这可能是一些奇怪的写权限问题,如果您复制文件而不是创建文件,通常会发生这种问题。确保您对该特定文件具有写入权限,或尝试创建一个新的 .plist 并将您需要的所有内容复制到那里。
  • 我实际上能够重现 .plist 文件被 Perforce 锁定的问题。尝试解锁文件进行写入。
  • 感谢您的回复 - 不幸的是,我有写作的权利。我还可以添加新行。

标签: iphone ios plist appsettings settings.bundle


【解决方案1】:

这些解决方案都不适合我——我的问题是我的文件名是ChildPane.plist,而不仅仅是ChildPane。原来它也是documented here

【讨论】:

    【解决方案2】:

    显然我的 pList 被找到了,即使 XCode 没有说“iPhone 设置架构”。我的问题是值设置不正确。重要的是要知道 XCode 会为您的值填充“快捷方式”,但会将更具体的值放入源 XML。这就是为什么您必须查看文档是否使用正确的标识符。

    一个例子:

    添加组元素将显示值为“组”。如果 XCode 将您的 pList 识别为设置模式,那确实有效。

    如果没有,您必须使用值 PSGroupSpecifier 作为described in the Documentation.

    此外,输入所有必需的值很重要,否则您的子窗格将不会显示。因此,如果您的嵌套设置没有显示有任何问题,请尝试以下步骤进行修复:

    1. 您是否将引用的 pList 命名为与 Childpane 文件规范中指定的名称相同,但未添加 .plist?

    2. 您是否使用 Finder 将引用的 pList 移动到设置包中?

    3. 您是否检查过您引用的元素是否使用 descripted in the documentation 的确切值(PSGroupSpecifier 而不是 Group)?当 XCode 不允许您更改属性列表类型时,这一点尤其重要...

    4. 是否有任何您没有添加到元素中的必需元素?如果是,则不会显示...

    5. 您认为您做的每件事都正确,只是没有显示出来吗?从设备中删除应用并清理构建。

    【讨论】:

      【解决方案3】:

      哦,我想我解决了。 文件类型并不会真正影响设置应用程序的行为。 我从设备/模拟器中删除了我的应用程序,然后重新安装。 现在设置应用程序可以正确显示嵌套页面,即使文件类型不是 Xcode 窗口上的“iPhone 设置 plist”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多