草庐IT

Secure-NSUserDefaults

全部标签

ios - 为什么不在 NSUserDefaults 中存储密码是显而易见的?

我一直在谷歌上搜索如何存储密码,大多数人说唯一可接受的选择是钥匙串(keychain)。由于匆忙,我实现了这种方法。但现在我很好奇不将密码存储在NSUserDefaults中的显而易见的事情是什么,并且可以将密码存储在CoreData中吗?到目前为止,我了解到NSUserDefaults以纯文本形式存储在plist文件中。但是如何访问这个文件呢?我读过可以借助闪电电缆和iTunes来完成,但没有找到如何做到这一点。提前致谢! 最佳答案 您使用NSUSerDefault存储的数据将以简单的plist二进制格式保存,没有任何加密。读取这

iphone - NSNumber 存储在 NSUserDefaults 中

刚刚发生了一些奇怪的事情。我在NSUserDefaults中存储了一个带有unsignedlonglong值的NSNumber。当我检索它时,值刚刚改变。看起来系统认为这个数字是longlong而不是unsignedlonglong。更糟糕的是,当我将从UserDefaults中检索到的数字与原始数字进行比较时,结果是NotEqual!代码有什么问题?谢谢!staticNSString*constNumberKey=@"MyNumber";unsignedlonglongvalue=15908045869032883218ULL;if([[NSUserDefaultsstandardU

ios - 如果应用程序在 10 秒内被杀死,NSUserDefaults 会丢失新保存的数据

我正在寻找一种比NSUserDefaults更快的方式来保存用户首选项。我发现如果应用程序在写入NSUserDefaults后大约10秒内被终止,它将不会被永久保存。我使用默认值来保存自定义铃声的路径、自定义图像的路径、map坐标,基本上只是用户定义的首选项。使用核心数据是更好的选择吗?数据库?什么被认为是最快和最轻量级的? 最佳答案 您需要确保立即调用同步以保存数据。[[NSUserDefaultsstandardUserDefaults]synchronize];来自Apple的classreference:Becausethi

iOS - 无法将 NSDate 存储到 NSUserDefaults

在我的应用程序中,我想存储应用程序首次启动的日期。我在应用程序中使用以下代码:didFinishLaunchingWithOptions方法NSDate*today=[NSDatedate];[[NSUserDefaultsstandardUserDefaults]registerDefaults:@{@"CONSCIENCE_START_DATE":today}];NSLog(@"%@",[[NSUserDefaultsstandardUserDefaults]objectForKey:@"CONSCIENCE_START_DATE"]);但是每次我启动应用程序时,它都会打印应用程序

数据持久化方案-NSUserDefaults【iOS15后不安全,会丢失数据】

NSUserDefaults1.NSUserDefaults是一个单例类,可以用于数据的永久保存,一般用于保存应用程序设置以及用户数据等轻量级数据,而且简单实用。2.NSUserDefaults系统在整个app生命周期中都是可用的,也就是说,无论用户关闭程序还是关机,在用户再次打开程序或开机后这些数据仍然存在。3.NSUserDefaults是单例,同时也是线程安全的4.NSUserDefaults存储的对象全是不可变的:NSDictionary,NSArray,NSString,NSNumber,NSDate,NSData.这一点非常关键,存储对象不对的话会导致程序崩溃.5.存入数据时,不会

iphone - 删除以某个单词开头的所有 NSUserDefaults

有没有办法让我“遍历”我的iPhone应用程序中所有NSUserDefault的列表,并且只删除某些?例如,我想获取所有以某个单词开头的键名。像这样:[[NSUserDefaultsstandardUserDefaults]removeObjectForKey:@"Dog*"]; 最佳答案 可以翻看dictionaryRepresentation.这是一个使用NSPredicate的实现作为通用匹配器以获得更大的灵active。@interfaceNSUserDefaults(JRAdditions)-(void)removeObj

iphone - IOS App验证错误: An SSL error has occurred and secure connection to the server cannot be made

在XCode中,我尝试上传应用程序A的新版本,但每次都会出现此错误。然后我要上传另一个应用程序B,一切正常(验证正常,上传正常)。然后我回到应用程序A,它仍然给出相同的错误。我试过:1.重新启动XCode。2.重启苹果。3.全部清理并重新存档。还是一样的错误。是什么赋予了?请帮我解决这个问题。 最佳答案 在KeychainAccess应用程序中,选择系统(在钥匙串(keychain)下)和key(在类别下)并删除本地主机key。 关于iphone-IOSApp验证错误:AnSSLerro

swift - NSUserDefaults 未加载 Today Extension (Swift)

我正在尝试制作一个TodayExtension,在主应用程序中,favorite正在从ar和ar2中正确写入和读取>。favorite是类Book的属性。但是,当我尝试从TodayExtension访问所有Book对象的数组的favorite属性时,ar和ar2是空的。主要应用:varfavorite:Bool{get{letar=NSUserDefaults.standardUserDefaults().stringArrayForKey("favorites")??[]letar2=NSUserDefaults(suiteName:"group.com.TodayExtension

ios - 将 deviceToken 保存到 NSUserDefaults

我正在尝试将设备token保存到NSUserDefaults但我做不到。我的代码:funcapplication(application:UIApplication,didRegisterForRemoteNotificationsWithDeviceTokendeviceToken:NSData){varcurrentToken=preferences.stringForKey(pushTokenKey)ifcurrentToken!=deviceToken{vardataString=NSString(data:deviceToken,encoding:NSUTF8StringEn

objective-c - NSUserDefaults Plist 在 Swift 中创建失败(但不是 Objective-C)

我正在将我的一个项目从Objective-C转换为Swift,但我遇到了一个奇怪的障碍。考虑以下代码(在-applicationDidFinishLaunching中执行)...Objective-C请原谅凌乱的一行[[NSUserDefaultsstandardUserDefaults]registerDefaults:[NSDictionarydictionaryWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"Defaults"ofType:@"plist"]]];在我的Objective-C项目中,这按预期工作。