Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 我可以隐藏/禁用Settings.bundle中的字段吗?_Ios_Xcode_Settings - Fatal编程技术网

Ios 我可以隐藏/禁用Settings.bundle中的字段吗?

Ios 我可以隐藏/禁用Settings.bundle中的字段吗?,ios,xcode,settings,Ios,Xcode,Settings,我的Settings.bundle的Root.plist中有几个文本字段项。我的应用程序需要所有这些,但我希望其中一个被用户隐藏或不可编辑。例如,当用户在iPhone上转到设置-->MyApp时,我希望其中一个字段在那里不可见,或被禁用以进行编辑。这可能吗?简短的回答,你不能。详细回答:我猜您正在应用程序的其他地方使用Root.plist,对吗?如果是这样的话,在本例中,如果您真的需要它以您描述的方式工作,我建议您创建两个plist文件,并在运行时合并它们 换句话说,创建Root.plist,其

我的Settings.bundle的Root.plist中有几个文本字段项。我的应用程序需要所有这些,但我希望其中一个被用户隐藏或不可编辑。例如,当用户在iPhone上转到设置-->MyApp时,我希望其中一个字段在那里不可见,或被禁用以进行编辑。这可能吗?

简短的回答,你不能。详细回答:我猜您正在应用程序的其他地方使用Root.plist,对吗?如果是这样的话,在本例中,如果您真的需要它以您描述的方式工作,我建议您创建两个plist文件,并在运行时合并它们

换句话说,创建Root.plist,其中仅包含您希望用户在iOS设置页面中更改的字段(例如,不包含您当前试图隐藏的字段),以及另一个.plist文件,其中包含您希望在应用程序内处理的其余字段

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


不太圆滑,但可能有用

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

问题:能否隐藏/禁用Settings.bundle/Root.plist中的字段?
回答:

问题:如何安全地存储应用程序的身份验证信息?
回答:内置钥匙链服务


来源:

将plist中的类型从“文本字段”设置为“标题”,这样可以获得一个用户不再可编辑但应用程序可以读取的字段


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

当然可以。只需将项目类型更改为title


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

这很奇怪。Nike+应用程序设置根据开关字段的状态禁用字段。未记录的功能?@batkuip否,我认为这是因为Nike+内置于iOS。我从未见过其他应用程序能做到这一点。感谢您抽出时间来启发我们;)+1如果是多值类型,则将其更改为标题时将丢失其数据。这不管用。