![]() |
1
22
如果数据不敏感(例如,默认字体大小),请将其存储在NSUserDefaults中。
如果需要对用户进行安全保护(例如注册码),则需要使用自己的加密,然后将数据存储在任何您喜欢的位置。 |
|
2
9
我写了一个简单易用的小类别正是为了这个目的。在iPhone和macosx上工作,它是免费的,并且是麻省理工学院许可的。您可以在github找到它: SecureUserDefaults |
![]() |
3
4
你可以在iPhone钥匙链中存储真正安全的数据。可供选择的方法是您自己的加密类(可能会限制应用程序分发),或者通过一些其他编码(如nsdata、base64等)进行混淆。 |
![]() |
4
4
NSUserDefaults应该只包含您希望用户能够更改的设置。应用程序内部数据不应为默认值。将内部数据保存在NSDictionary中,并将其写入apps documents或tmp文件夹中的单独文件。
|
![]() |
5
2
使用加密算法,如 AES 加密存储在NSUserDefaults中的数据。将加密密钥嵌入到应用程序中,无论是硬编码的还是通过对多个元素的连续操作计算的,都会成功阻止对存储的值进行任何编辑。为了使事情更简单,您应该编写一个包装器方法,该方法接受明文密钥和值,对它们进行加密,然后将它们存储在NSUserDefaults中,当然,在读回这些值时,也会反向执行相同的操作。但是请注意,考虑到加密/解密的时间,这将比不安全的存储慢,因此请考虑仅将此技术应用于应用程序中最敏感的配置选项。 |
![]() |
6
0
老实说,这似乎不是问题,除非你想存储一些东西
|
![]() |
7
-1
对于iPhone?他们不能改变这些变量,没有终端.app改变这一点(越狱设备除外,但这是苹果的问题,不是你的问题)。对于桌面应用程序,您可以使用NSData对其进行编码,它们将被归档为base64。 |
![]() |
WkWk · Apple Watch动作通知不起作用 2 年前 |
![]() |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
![]() |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |