這篇文章主要內(nèi)容為通過(guò)版本號(hào)作為判斷條件來(lái)判斷app安裝(更新)后是否為首次啟動(dòng)
代碼實(shí)現(xiàn)
實(shí)現(xiàn)原理是通過(guò)NSUserDefaults存儲(chǔ)當(dāng)前app版本號(hào)的方式拧晕,定義版本號(hào)的key為version倦零,通過(guò)這里的值和當(dāng)前app的版本號(hào)作比較是否相等來(lái)判斷,這里一共有兩種情況
- 第一種情況app首次安裝后進(jìn)入app病往,那么NSUserDefaults里面version對(duì)應(yīng)的value肯定沒(méi)有值,那么取出來(lái)之后和app版本號(hào)肯定不相等,返回值NO猜丹,這是同時(shí)給NSUserDefaults里version賦值,這樣第二次進(jìn)入app時(shí)再做判斷肯定會(huì)返回YES了
- 第二種情況是app更新之后第一次進(jìn)入app硅卢,app版本號(hào)和NSUserDefaults里version又不一樣了射窒,判斷后返回值NO,同樣同時(shí)給NSUserDefaults里version賦值将塑,這樣第二次進(jìn)入app時(shí)再做判斷會(huì)返回YES脉顿。
- (BOOL)hasLaunched {
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if (![[userDefaults objectForKey:@"version"] isEqualToString:version]) {
[userDefaults setObject:version forKey:@"version"];
return NO;
}else {
return YES;
}
}```
####效果驗(yàn)證
新建一個(gè)工程,把上面方法復(fù)制到ViewController里点寥,同時(shí)在viewDidLoad加上如下代碼
self.view.backgroundColor = [self hasLaunched] ? [UIColor whiteColor] : [UIColor cyanColor];
這時(shí)候運(yùn)行程序艾疟,發(fā)現(xiàn)第一次進(jìn)入時(shí)或是更新版本號(hào)之后第一次進(jìn)入時(shí)ViewController的背景色是青色的,其余時(shí)候ViewController的背景色是白色的开财,效果實(shí)現(xiàn)汉柒,之后只需要把方法放在正確的位置,然后就可以加上引導(dǎo)頁(yè)等這樣的業(yè)務(wù)邏輯了责鳍。