我有一个需要密码的应用程序,密码是在应用程序本身中设置的。然而,一旦设置了密码,如果用户忘记了密码并需要重置密码,我认为我们可以在Settings.bundle中重置密码,并希望设备会提示输入密码以进行这样的更改。
这样做的目的是只有设备的所有者才能重置其密码。如果其他人重置了密码,他们将无法访问应用程序。
我研究发现按钮(像Safari的“清除历史”和“清除缓存”)不能被第三方开发者使用。
我在Settings.bundle中创建了一个切换开关,它从"Off“开始,标记为"Reset Password”。当用户打开它并返回到应用程序时,它会提示他们设置新密码。
然而,我找不到一种方法来通过编程将首选项中的切换重新设置为“关闭”,这样用户从那时起每次打开应用程序时都不会被提示设置新密码,除非他们返回到设置并关闭切换。
我开始觉得这根本不可能。有没有人知道更多可以插话的东西?
问题的第二部分是,是否有一种方法可以要求用户输入设备密码才能进行更改?如果有提示输入设备密码的方法,我将能够将其用作安全措施,以允许他们重置其密码。
提前感谢大家的帮助!
发布于 2011-07-24 10:41:08
存储在应用程序设置中的数据可以通过NSUserDefaults获得。您可以使用将开关的标识符作为参数传递的boolForKey:
方法来获取ToggleSwitch的状态。还可以使用setBool:forKey
方法设置其状态。
https://stackoverflow.com/questions/6804319
复制相似问题