我的应用程序收到一些奇怪的报告,其中存储在NSUserDefaults中的应用程序设置被清除。这些报告都在iOS7s上我知道您可以通过卸载或调用来手动清除NSUserDefaultsNSString*appDomain=[[NSBundlemainBundle]bundleIdentifier];[[NSUserDefaultsstandardUserDefaults]removePersistentDomainForName:appDomain];但是否还有任何其他已知原因导致应用清除其设置? 最佳答案 如果您不想让您的数据被删除
这对我的应用很重要,因为我想在那里存储应用UDID,Apple建议从iOS5.0开始创建应用特定的UDID。 最佳答案 用户默认值通过更新保留,但不会通过删除和重新安装应用程序保留。目前,keychain是通过删除并重新安装应用程序来保留的,但没有记录是哪种方式,因此依赖这种行为可能会有风险。您还可以将值写入iCloud键/值存储。这将在该用户安装的所有应用程序中持续存在,这也是它的设计目的。 关于ios-存储在NSUserDefaults中的数据是否会在应用程序更新和应用程序重新安装(
我正在尝试在我的应用程序和自定义键盘扩展之间共享数据。我在主应用程序目标和自定义键盘目标中都打开了应用程序组。在我的主应用程序中,我添加了一个包含以下内容的对象:NSUserDefaults*userDefaults=[[NSUserDefaultsalloc]initWithSuiteName:@"group.mycompany.myapp"];[userDefaultssetObject:someObjectforKey:@"KEY"];在控制台中打印[userDefaultsdictionaryRepresentation]显示该对象已保存,调用[userDefaultsobje
iPhone上安装了两个应用程序(myApp和competitorApp)。competitorApp正在使用NSUserDefaults保存用户设置。我知道所有使用competitorApp的键(key的值)。是否可以从competitorApp获取myApp中的值? 最佳答案 在iOS应用程序编程指南中,intheSecuritysection你可以阅读:Forsecurityreasons,iOSplaceseachapp(includingitspreferencesanddata)inasandboxatinstallti
我无法使用nsuserdefaults保存图像并使我的应用程序崩溃,我还使用了使用的自定义类UserInfo-(void)encodeWithCoder:(NSCoder*)encoder{NSData*imageData=UIImagePNGRepresentation(categoryImage);[encoderencodeObject:categoryNameforKey:@"name"];[encoderencodeObject:imageDataforKey:@"image"];}-(id)initWithCoder:(NSCoder*)解码器和userInfo.categ
Apple测试人员因违反指南而被拒绝了我们的应用:[2.23AppsmustfollowtheiOSDataStorageGuidelinesortheywillberejected]由于我们存储的数据库文件没有NSURLIsExcludedFromBackupKey标志-它已在iCloud中备份-并导致拒绝。因此,我们将NSURLIsExcludedFromBackupKey标志添加到我们的文件中,它减少了存储在iCloud中的数据量。但是-我们意识到NSUserDefaults也会占用iCloud中的一些空间。我们正在使用[NSUserDefaultsstandardUserDef
我有两个ViewController。在我的第一个ViewController中:{NSString*string=textField.text;NSUserDefaults*data=[NSUserDefaultsstandardUserDefaults];[datasetObject:stringforKey:@"strings"];[datasynchronize];}如何在我的其他ViewController中获取字符串值? 最佳答案 在这里您可以在您的应用程序中以任何方式使用它来存储NSUserDefaults的值。//-
我有一个测试人员提交的错误,如果他执行一个操作然后重新启动他的手机(通过按下主页和sleep/唤醒按钮几秒钟),应用程序不会保持状态。我已经能够重现这个问题。[NSUserDefaults同步]正在被调用,但是当我在重启后重新启动应用程序时,NSUserDefaults中的值没有保存。有谁知道是否将存储同步到缓冲区,然后再保存到磁盘?如果是这样,我如何刷新缓冲区(我认为同步与刷新相同,但显然不是。)(编辑)换句话说:assert([[NSUserDefaultsstandardUserDefaults]boolForKey:MY_KEY]==NO);[[NSUserDefaultsst
所以我设置了一个设置包来只做一件事。允许用户在我的应用程序中的TouchUI和GestureUI之间进行选择,由于某些奇怪的原因,我无法获得设置包来控制它。它与一个保持一致,即使我有Ifelse语句也不会切换。最初我有vartouchCheck=userDefaults.boolForKey("myGestureEnabledDisabled")但是当我继续关闭应用程序(Multitask>SwipeUp应用程序)并通过跳板重新运行应用程序时,它根本没有改变boolean值。设置应用程序可以将bundle设置为NO,但日志显示手势已打开。看完教程后,我将boolForKey更改为val
所以,我想知道是否可以使用Swift将函数保存到用户默认值。例如,对于一个字符串,我会这样做:varinputData="Hi"NSUserDefaults.standardUserDefaults.setValueForKey(inputData,forKey:"data")然后为了保存它做一个变量,我会说:vargotData=NSUserDefaults.standardUserDefaults.valueForKey("data")!现在,我的问题是,是否可以将函数保存为用户默认值。例如:varinputData=funchelloWorld(){println("HelloW