了解更新到新版本时第一次打开应用程序

nOO*_*iOS 9 objective-c ios

应用程序的当前行为是,除非用户明确单击注销,否则登录一次的用户将不会被注销.

我保持用户登录,即使用户关闭应用程序并再次打开它.

当我的应用程序的更新版本在appstore中发布时,我想知道用户是否更新了我的应用程序并且是第一次打开它.

那时我想让他们再次登录.

有没有办法在应用程序更新到最新版本后第一次发布?

cle*_*ght 6

创建某种版本#的方案.注意:只要对代码进行实质性更改,就可以启用Xcode来创建备份和版本.

有许多方法可以创建版本常量,保存并读回.

当您从商店更新应用程序时,应用程序数据会从先前安装的应用程序版本中持续存在,您可以回读该数据以确定版本,然后更新该持久性数据以便为下一个更新周期做好准备.

这个答案是另一个类似问题中非常流行的解决方案.

或者,尝试下面的@ JitendraGandhi的ObjC答案,或者如果你使用Swift,尝试像我的@ JitendraGandhi的ObjC示例到Swift:

func hasAppBeenUpdatedSinceLastRun() -> Bool {
    var bundleInfo = Bundle.main.infoDictionary!
    if let currentVersion = bundleInfo["CFBundleShortVersionString"] as? String {
        let userDefaults = UserDefaults.standard

        if userDefaults.string(forKey: "currentVersion") == (currentVersion) {
            return false
        }
        userDefaults.set(currentVersion, forKey: "currentVersion")
        userDefaults.synchronize()
        return true
    } 
    return false;
}
Run Code Online (Sandbox Code Playgroud)


Jav*_*ont 3

您可以将当前版本保存到 NSUserDefaults 并使用此方法在每次应用程序唤醒时检查您的版本:

#pragma mark - NSBundle Strings
- (NSString *)currentVersion
{
    return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
}
Run Code Online (Sandbox Code Playgroud)

如果当前版本与存储的版本不同...是时候显示登录信息了!希望对您有帮助。