APP更新后顯示版本新特性

當我們使用iPhone時,所下載的APP時常會因為修改BUG、增加功能而需要更新,每次更新過后都會發(fā)現(xiàn),當?shù)谝淮未蜷_APP時會有一個版本新特性來簡單展示本次更新的內(nèi)容。根據(jù)此需求來討論下如何在iOS開發(fā)中實現(xiàn)這一功能。

問題相關

  • 首先,考慮到是版本更新的問題,因此可以想到可以通過比較兩次的版本號,通過判斷得出APP是不是第一次打開,是否需要展示當前版本的新特性界面。

  • 其次,版本號資源在Info.plist文件中,可以以SourceCode的方式打開,其中有一個是CFBundleVersion的字段,CFBundleVersion就是用來表示版本號。

代碼思路

  1. 在第一次打開APP時,將版本號存入用戶偏好設置中。
  2. 當再一次打開APP時,取出上次存入的版本號,與當前的版本號進行比較,如果是一樣,則說明版本與上一次是一致的,不需要新特性引導,如果不一樣,說明版本不同,需要打開新特性界面進行引導。

具體代碼

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    application.statusBarHidden = NO;
    
    self.window = [[UIWindow alloc] init];
    self.window.frame = [UIScreen mainScreen].bounds;
    
    NSString *versionKey = @"CFBundleVersion";
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSString *lastVersion = [defaults objectForKey:versionKey];//從用戶偏好設置中獲取上一次版本號
    
    NSString *currentVersion = [NSBundle mainBundle].infoDictionary[versionKey];//獲取當前版本號
    
    if ([currentVersion isEqualToString:lastVersion]) {
        self.window.rootViewController = [[GUTabBarController alloc] init];
    }else{
        self.window.rootViewController = [[GUNewFeatureController alloc] init];
        
        [defaults setObject:currentVersion forKey:versionKey];//將當前版本號存儲到偏好設置中
        [defaults synchronize];//立刻同步
    }
    
    [self.window makeKeyAndVisible];
    return YES;
}
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評論 25 709
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,221評論 4 61
  • 今天看了李笑來老師的直播學到很多 一定要必須要盲目的樂觀,且相信自己可以達到財富自由。也必須承認有些傻x、不如你的...
    任雨點閱讀 117評論 0 0
  • 2017年10月17日 星期二 晴 今天難得的好天氣。趁機曬了一下被子和幾件厚衣服,這么好的陽光不能浪...
    云哲云燦媽媽閱讀 260評論 0 0

友情鏈接更多精彩內(nèi)容