我的Settings.bundle的Root.plist中有几个Text Field项。我需要将它们全部用于我的应用程序,但我希望其中一个被用户隐藏或不可编辑。例如。当用户将iPhone移至设置 - > MyApp时,我希望其中一个字段在那里不可见,或者禁用以进行编辑。这可能吗?
答案 0 :(得分:5)
当然可以。只需将项目类型更改为标题。
您仍然可以从代码中保存并读取它的值。但是,它不会出现在应用程序中。设置。
答案 1 :(得分:4)
经过进一步的研究,我找到了问题的答案,以及我试图解决的问题的答案。
问题:你可以在Settings.bundle / Root.plist中隐藏/禁用字段吗?
答案:否。
问题:如何安全存储应用的身份验证信息?
答案:内置Keychain服务。
答案 2 :(得分:2)
简短回答,你不能。答案很长:我认为你在应用程序内的其他地方使用Root.plist,是吗?如果是这样,我在这种情况下推荐的,如果你真的需要按照你描述的方式工作,那就是创建两个plist文件,并在运行时合并它们。
换句话说,创建Root.plist只包含您希望用户在iOS设置页面中更改的字段(例如,没有您当前正在尝试隐藏的字段),以及另一个.plist文件和其余的您要在应用内处理的字段。
然后,在运行时,首先加载Root.plist,然后合并您正在使用的数据结构中另一个.plist文件的内容。
不是很光滑,但可以工作。
答案 3 :(得分:1)
将plist中的类型从“文本字段”设置为“标题”的工作方式是,您将获得一个不再由用户编辑但可以被应用程序读取的字段。
就UI一致性而言,它看起来并不正确,因此这可能不是禁用首选项的理想解决方案。