按照我的想法,如果用户没有在setting设置值且有default-value,那么应该获取的是default-value,因为打开setting也能看见这些值.但是今天突然发现好像不是那么会事.获取的是null.看了AppPrefs的代码,它也进行了判断.如下:
- (void)applicationDidFinishLaunching:(UIApplication *)application
{
[window addSubview:[navigationController view]];
NSString *testValue = [[NSUserDefaults standardUserDefaults] stringForKey:kFirstNameKey];
if (testValue == nil)
{
// no default values have been set, create them here based on what's in our Settings bundle info
//
NSString *pathStr = [[NSBundle mainBundle] bundlePath];
NSString *settingsBundlePath = [pathStr stringByAppendingPathComponent:@"Settings.bundle"];
NSString *finalPath = [settingsBundlePath stringByAppendingPathComponent:@"Root.plist"];
NSDictionary *settingsDict = [NSDictionary dictionaryWithContentsOfFile:finalPath];
NSArray *prefSpecifierArray = [settingsDict objectForKey:@"PreferenceSpecifiers"];
NSString *firstNameDefault;
NSString *lastNameDefault;
NSNumber *nameColorDefault;
NSNumber *backgroundColorDefault;
NSDictionary *prefItem;
for (prefItem in prefSpecifierArray)
{
NSString *keyValueStr = [prefItem objectForKey:@"Key"];
id defaultValue = [prefItem objectForKey:@"DefaultValue"];
if ([keyValueStr isEqualToString:kFirstNameKey])
{
firstNameDefault = defaultValue;
}
else if ([keyValueStr isEqualToString:kLastNameKey])
{
lastNameDefault = defaultValue;
}
else if ([keyValueStr isEqualToString:kNameColorKey])
{
nameColorDefault = defaultValue;
}
else if ([keyValueStr isEqualToString:kBackgroundColorKey])
{
backgroundColorDefault = defaultValue;
}
}
// since no default values have been set (i.e. no preferences file created), create it here
NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
firstNameDefault, kFirstNameKey,
lastNameDefault, kLastNameKey,
nameColorDefault, kNameColorKey,
backgroundColorDefault, kBackgroundColorKey,
nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:appDefaults];
[[NSUserDefaults standardUserDefaults] synchronize];
}
// we're ready to do, so lastly set the key preference values
firstName = [[NSUserDefaults standardUserDefaults] stringForKey:kFirstNameKey];
lastName = [[NSUserDefaults standardUserDefaults] stringForKey:kLastNameKey];
textColor = [[NSUserDefaults standardUserDefaults] integerForKey:kNameColorKey];
backgroundColor = [[NSUserDefaults standardUserDefaults] integerForKey:kBackgroundColorKey];
}
分享到:
相关推荐
此外,虽然这个配置文件是为A1429 iPhone 5设计的,但不适用于其他型号的iPhone或运营商。如果用户使用的是其他型号的iPhone,或者不是中国联通的用户,尝试安装这个配置文件可能不会产生任何效果,甚至可能导致网络...
每个条目通常包括一个`Key`(用于在代码中引用设置值)、`Title`(显示给用户的文本)、`Type`(设置的控件类型,如`PS开关`、`PSMultiValueSpecifier`等)和`DefaultValue`(默认的设置值)。 3. **Subspec**:`...
标题中的“iPhone11的48.0 IPCC文件”指的是iPhone 11设备上用于配置网络设置的特定文件。IPCC(Internet Provisioning Configuration Client)是Apple为iOS设备设计的一种文件格式,它包含了运营商的配置信息,如...
iphone蜂窝网络代理配置文件
标题中的“iPhone IPCC”指的是苹果(Apple)iPhone设备上的国际移动用户识别码(IMSI)配置文件(Carrier Settings Configuration Profile,简称IPCC)。这些文件在iOS系统中用于更新运营商设置,比如数据网络、...
基于iOS12.4(36.0.1)_CMCC_cn_iPhone 版本的IPCC修改的,iphone6可用的支持广电4G的IPCC文件。语音、数据、短信均可用。下载后直接把文件后缀名修改为.ipcc,使用i4刷入后,开下飞行就可以了。
【iPhone 电信运营商文件36.1】是一个重要的更新,主要针对使用中国电信服务的iPhone用户。这个文件,名为“ChinaTelecom_USIM_cn_iPhone_36.1.ipcc”,是苹果公司为优化电信网络连接而发布的配置文件。在本文中,...
此外,配置工具可能还支持创建和应用配置描述文件,这些文件可以用来批量设置多个iPhone设备,例如在企业环境中为员工设备预设公司政策。用户也可以通过配置工具来管理设备的屏幕使用时间、应用限制、无线网络设置等...
iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具iPhone 配置实用工具
标题 "iphone13 ios ipcc52.0.zip" 暗示了这可能是一个针对iPhone 13设备的iOS更新文件,其中包含了IPCC(International Provider Configuration)文件。IPCC文件是苹果设备用于设置运营商配置的重要文件,它通常...
在当今科技日新月异的时代,智能手机已经成为我们日常生活中不可或缺的一部分,尤其是苹果公司的iPhone,凭借其出色的用户体验和强大的功能深受用户喜爱。然而,有时我们可能会遇到一些网络连接问题,例如无法正常接...
标题中的“iphone13通用ipcc49.0.zip”表明这是一个与苹果iPhone 13设备相关的软件更新或配置文件,IPCC(International Provider Configuration)是Apple用来管理运营商设置的一种文件格式。这些设置通常涉及手机的...
在【压缩包子文件的文件名称列表】中看到"iPhone-6",这可能是指包含iPhone 6模型的主PSD文件。通常,这样的文件可能会包含多个图层组,每个图层组代表手机的不同部分,如屏幕、摄像头、按钮等。在文件内,每个元素...
这意味着用户可以查看并修改iPhone的系统配置文件,这对于调试应用程序、修复错误或者进行个性化定制非常有用。但需要注意的是,不正确的操作可能会导致系统不稳定,因此建议非专业人士谨慎操作。 此外,iFunbox_SC...
在本话题中,我们将深入探讨如何通过下载和安装配置文件来获取iOS 12的beta测试版。 首先,"iOS 12下载 配置文件"指的是为了获得iOS 12 beta测试版,用户需要在设备上安装一个特定的配置文件。这个配置文件,名为...
在IT领域,特别是苹果iOS设备的用户,可能会遇到与iPhone5s相关的网络升级问题,而“iphone5s ipcc文件,运营商文件升4G网络”就是解决此类问题的关键。首先,我们来了解一下IPCC(International Provider ...
在“压缩包子文件的文件名称列表”中提到了"iphone4或4S.png原机备份",这可能是iPhone 4或4S设备的屏幕截图,或者是该设备备份过程中的一个步骤说明图像。通常,备份过程中不会包含.png文件,除非是用户手动添加或...
2. **ApplePNG.sln**:这可能是一个与图像处理相关的子项目,可能是用于处理或解析iPhone上的PNG图片文件。 3. **iPhoneBrowser.suo** 和 **ApplePNG.suo**:这两个是Visual Studio的用户选项文件,存储了开发环境的...
在数字化时代,智能手机成为了我们日常生活和工作中不可或缺的一部分,而苹果公司的iPhone更是以其出色的用户体验赢得了广大用户的青睐。然而,对于许多用户来说,如何有效地管理和组织iPhone上的文件,却是一项看似...
【iPhone开发环境配置详解】 在Windows XP环境下进行iPhone应用程序的开发,需要搭建一套特定的开发环境,这通常涉及到在PC上安装Mac OS X系统,因为Apple的官方开发工具Xcode只支持苹果的操作系统。本文将详细讲解...