保存用户名和通过 Objective C iPhone

发布于 2024-09-09 22:53:10 字数 100 浏览 0 评论 0原文

我有一个文本字段、

数字和密码,

我不知道如何保存这些设置,然后在应用程序开始检查它们是否已设置时读取它们。

谢谢梅森

i have a textfield,

Number and Password

i have no clue how to save these settings and then read them as the app starts to check if they have been set or not.

Thanks

Mason

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

又爬满兰若 2024-09-16 22:53:10

敏感信息应存储在钥匙串中,这是设备上的加密安全位置。如果将用户名和/或密码保存在 NSUserDefaults 中,则将它们保存为明文,这本质上是不安全的。

互联网上有很多关于如何在 iPhone 上使用钥匙串的示例,包括在代码中使用的简单包装器。例如,Github 上有一些非常好的代码,这使得它变得非常简单:

http:// /github.com/ldandersen/scifihifi-iphone/tree/master/security

Sensitive information should be stored in the keychain, a cryptographically secure location on the device. If you save the username and/or password in NSUserDefaults, you're saving them as plaintext, which is inherently insecure.

There're are plenty of examples on the internet of how to use the keychain on the iPhone, include simple wrappers to use in your code. For example, here's some pretty good code on Github that makes it quite easy:

http://github.com/ldandersen/scifihifi-iphone/tree/master/security

傲娇萝莉攻 2024-09-16 22:53:10

保存:

[[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];

阅读:

_email = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];

在您的情况下:

[[NSUserDefaults standardUserDefaults] setValue:Number.text forKey:@"Number"];

并且:

NSString * number = [[NSUserDefaults standardUserDefaults] stringForKey:@"Number"];

“键”通常是硬编码的,并且像存储中的事物的“变量名称”一样工作(典型的名称/值对,如字典)。

检查该值是否已设置;读完后:

if (number) ...

To Save:

[[NSUserDefaults standardUserDefaults] setValue:_email forKey:@"email"];
[[NSUserDefaults standardUserDefaults] setValue:_password forKey:@"password"];
[[NSUserDefaults standardUserDefaults] synchronize];

To Read:

_email = [[NSUserDefaults standardUserDefaults] stringForKey:@"email"];
_password = [[NSUserDefaults standardUserDefaults] stringForKey:@"password"];

In your case:

[[NSUserDefaults standardUserDefaults] setValue:Number.text forKey:@"Number"];

And:

NSString * number = [[NSUserDefaults standardUserDefaults] stringForKey:@"Number"];

The "Key" is usually hard-coded and works like a "variable name" for things in storage (typical name/value pairs like a dictionary).

To check if the value has been set or not; after you read it:

if (number) ...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文