我正在尝试使用pLists和Xcode 4.6来实现我的应用设置的嵌套结构。
到目前为止我尝试了什么:
我的确遵循了Apple文档中的教程here the link to the part where it comes to creating and additional settings page file。
我添加了一个包含不同项目的设置包,效果很好。说到我的子窗格,我使用文件名“子设置”引用了一个文件,并使用Finder到我的设置包添加了一个plist childsetting.plist。
问题:
当我控制点击我的plist并从Property列表中选择“iPhone Settings plist”时,它将不接受我的选择。
起初,一切都很好看:
但是在单击其他文件并单击返回my childsetting.plist后,Root元素仍然是Root而不是“iPhone Settings Schema”。
编辑XML源代码,清理和构建项目,重新启动XCode或重新安装应用程序不起作用。它总是回到同样的问题: Childpane是空的。看起来pList找不到 - 我猜是因为它不被识别为iPhone设置架构。
答案 0 :(得分:2)
显然我的pList被找到了,即使XCode没有说“iPhone设置架构”。我的问题是值未正确设置。重要的是要知道XCode为您的值填写“快捷方式”,但将更具体的值放入源XML中。这就是为什么你必须查看文档是否使用正确的标识符。
示例:
添加组元素将显示值“Group”。如果XCode将您的pList识别为设置架构,那么这确实有效。
如果没有,则必须将值 PSGroupSpecifier 用作described in the Documentation.
此外,放入所有必需的值非常重要,否则您的子窗格将无法显示。因此,如果您的嵌套设置有任何问题,请不要显示,请尝试按照以下步骤进行修复:
您是否将引用的pList命名为Childpane文件规范中指定的名称,而不添加.plist?
您是否使用Finder将引用的pList移动到“设置”包中?
您是否检查过引用的元素是否使用精确值descripted in the documentation(PSGroupSpecifier而不是Group)?当XCode不允许您更改属性列表类型...
是否有任何您未添加到元素中的必需元素?如果是,它将不会显示...
你认为你做的一切都是正确的,它只是没有显示出来吗?从设备中删除应用程序并清理构建。
答案 1 :(得分:0)
哦,我想我解决了。 文件类型不会真正影响设置应用程序的行为。 我从设备/模拟器中删除了我的应用程序,然后重新安装。 现在,设置应用程序正确显示嵌套页面,甚至文件类型也不是Xcode窗口中的“iPhone设置plist”。
答案 2 :(得分:0)
这些解决方案都不适合我 - 最终成为我的问题的是我的文件名为ChildPane.plist
而不是ChildPane
。事实证明它也是documented here。