2011-11-29 138 views
10

我的Settings.bundle的Root.plist中有几个文本字段项。我需要他们全部用于我的应用程序,但我希望其中的一个可以隐藏或不可编辑的用户。例如。当用户将其iPhone移至设置 - > MyApp时,我希望其中一个字段在此处不可见,或者禁用以进行编辑。这可能吗?我可以隐藏/禁用Settings.bundle中的字段吗?

回答

4

经过进一步研究,我找到了我的问题的答案,以及我试图解决的问题的答案。

问题:你可以隐藏/禁用Settings.bundle/Root.plist中的字段吗?
答:

问题:我如何安全地存储我的应用程序认证信息?
答案:内置钥匙串服务。

来源:Keychain Services Tasks for iOS

+1

这很奇怪。 Nike +应用程序设置根据开关字段的状态禁用字段。未记录的功能? – batkuip

+1

@batkuip不,我认为这是因为Nike +内置在iOS中。我从来没有见过其他应用程序这样做。 – Thomas

+0

感谢您抽出宝贵时间来启发我们;)+1 – katzenhut

2

简短的回答,你不能。长答案:我认为你在应用程序内的其他地方使用了Root.plist,对吗?如果是这样的话,在这种情况下,我推荐的是,如果你真的需要它按照你描述的方式工作,就是创建两个plist文件,并在运行时合并它们。

换句话说,只在iOS设置页面(例如,没有当前您想要隐藏的字段)中创建Root.plist以及其他.plist文件你想在你的应用程序内处理的字段。

然后,在运行时,首先加载Root.plist,然后合并另一个.plist文件的内容到您要使用的数据结构中。

不是很漂亮,但可以工作。

0

从“文本域”设置中的plist类型“标题”工作在你得到一个领域,不再是可编辑用户,但可以由应用程序读取。

就用户界面一致性而言,它看起来不太正确,因此这可能不是禁用首选项的理想解决方案。

5

当然可以。只需将项目类型更改为标题即可。

您仍然可以保存并从代码中读取它的值。但是,它不会出现在应用程序中。设置。

+0

如果它是一个多值类型,当它更改为标题时会丢失数据。这不起作用。 – iosMentalist