- 獲得項(xiàng)目中info.plist 文件的內(nèi)容
1> [NSBundle mainBundle].infoDictionary
2> 版本號在info.plist 中的key :kCFBundleVersionKey
2.沙盒的數(shù)據(jù)存儲及讀取
1> 數(shù)據(jù)存儲:
[[NSUserDefaults standardUserDefaults] setObject:version forKey:versionKey];
存儲數(shù)據(jù)時(shí)記得同步一下 [[NSUserDefaults standardUserDefaults] synchronize]; 這兩句話一般是成對存在的
2> 數(shù)據(jù)讀刃上怠:
[[NSUserDefaults standardUserDefaults] objectForKey:versionKey];
(1,2)小知識點(diǎn)綜合例子: 沙盒中存儲版本號并讀取版本號和應(yīng)用程序里的版本號對比是否相同 來判斷所要跳轉(zhuǎn)的根視圖控制器
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
/
二、判斷用戶是否第一次使用這個(gè)版本
1.將沙盒中的版本號和info.plist中的版本號進(jìn)行比較
2.第一次使用:顯示版本新特性界面
3.非第一次使用:顯示主界面(顯示狀態(tài)欄)
*/
// 1.從info.plist字典中取出版本號
NSString *versionKey = (NSString *)kCFBundleVersionKey;
NSString *version = [[NSBundle mainBundle] objectForInfoDictionaryKey:versionKey];
// 2.取出存在于沙盒中的版本號
NSString *saveVersion = [[NSUserDefaults standardUserDefaults] objectForKey:versionKey];
// 3.判斷info.plist中的版本號和沙盒中的版本號進(jìn)行比較
if ([saveVersion isEqualToString:version]) { // 版本號相同 非第一次使用:顯示主界面(顯示狀態(tài)欄)
// 顯示狀態(tài)欄
application.statusBarHidden = NO;
self.window.rootViewController = [[MainViewController alloc]init];
}
else // 版本號不同 非第一次使用:顯示主界面(顯示狀態(tài)欄)
{
[[NSUserDefaults standardUserDefaults] setObject:version forKey:versionKey];
[[NSUserDefaults standardUserDefaults] synchronize]; // 同步
self.window.rootViewController = [[NewFeatureViewController alloc] init];
}
[self.window makeKeyAndVisible];
return YES;
}