4

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

到目前为止我已经尝试过:

我确实遵循了 Apple 文档中的教程,这里是创建和附加设置页面文件部分的链接

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

问题:

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

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

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

4

3 回答 3

2

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

一个例子:

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

在此处输入图像描述

如果不是,您必须使用文档中描述的值PSGroupSpecifier 。

在此处输入图像描述

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

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

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

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

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

  5. 是否认为你做的一切都是正确的,只是没有显示出来?从设备中删除应用程序并清理构建。

于 2013-03-24T13:02:51.983 回答
1

这些解决方案都不适合我——最终成为我的问题是我的文件名ChildPane.plist不是ChildPane. 原来它也被记录在这里

于 2014-10-03T19:23:54.060 回答
0

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

于 2013-03-22T12:21:40.340 回答