【问题标题】:Root.plist app settings missing when debugging调试时缺少 Root.plist 应用程序设置
【发布时间】:2010-11-30 01:56:05
【问题描述】:

我创建了一个设置包和 Root.plist。当我使用 Release|iPhoneSimulator 构建运行我的应用程序时,我可以在“设置应用程序”中查看和编辑我的设置,正如预期的那样。

但是,当我在 Debug|iPhoneSimulation 模式下运行我的应用程序时,我的设置消失并被 Debugger Settings 取代。有没有办法在调试时保持我原来的 Root.plist 设置不变??

我一定是在做一些愚蠢的事情,因为我找不到任何其他有此问题的人的参考资料。

谢谢。

【问题讨论】:

    标签: debugging plist xamarin.ios


    【解决方案1】:

    这可能是区分大小写的问题。

    MonoDevelop 将调试设置合并到您的设置文件中,如果它在项目中发现一个名为 Settings.bundle/Root.plist 的文件标记为内容,但此检查区分大小写。

    如果它没有找到这个文件 - 例如你的设置文件大小写不同 - MD 将简单地创建一个新的设置文件,但 Apple 不区分大小写的文件系统会认为文件名是相同的,所以它会结束在 app bundle 中覆盖你的。

    【讨论】:

    • 在我的例子中,文件夹名为“Settings.bundle”,文件名为“Root.plist”。它被标记为“内容”和“始终复制”。
    • 如果我将它作为文本文件复制出来,这就是我的根 plist 的样子.... { PreferenceSpecifiers = ( { Title = "Optional Title"; Type = PSGroupSpecifier; }, { Type = PSTextFieldSpecifier; Title = ImageServer; Key = imageServer; "AutocapitalizationType" = None; AutocorrectionType = No; }, { Type = PSTextFieldSpecifier; Title = Port; Key = port; }, ); }
    【解决方案2】:

    看起来我用来弄清楚如何做到这一点的示例是假的。

    为了解决这个问题,我删除了 Root.plist,然后通过 Add..New File...Property List 重新添加它。一旦我将我的自定义设置添加到这个 plist 中,一切都开始工作了。

    因此,如果您看到示例(例如,http://conceptdev.blogspot.com/2009/08/monotouch-settingsbundle.html)告诉您手动创建一个 xml 文件,然后将其重命名为 Root.plist,请不要这样做。它不起作用。

    【讨论】:

    • 另外,没有必要将“复制到输出目录”设置为“始终复制”,因为我已经阅读了很多次。只需将其设置为“请勿复制”即可。
    • 并将构建操作设置为“内容”。
    • 但是仍然存在问题...现在我的设置显示在设置应用程序中,我的应用程序无法访问它们。始终返回 null。我已经下载并尝试了其他使用设置并具有相同结果的演示应用程序。因此,要么 Monotouch 出现问题,要么 4.2 更新破坏了某些东西。我不知道。
    猜你喜欢
    • 2013-06-03
    • 2022-11-14
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2012-05-15
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多