当前位置: 首页 > 面试题库 >

检查我的IOS应用程序是否已更新

丌官淇
2023-03-14
问题内容

我需要检查我的应用程序是否在更新时启动,因为我需要创建一个仅在首次安装该应用程序时才出现的视图,以便在更新后再次出现。


问题答案:

您可以将值(例如,当前应用程序版本号)保存到其中,NSUserDefaults并在每次用户启动应用程序时对其进行检查。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // ...

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSString *currentAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
    NSString *previousVersion = [defaults objectForKey:@"appVersion"];
    if (!previousVersion) {
        // first launch

        // ...

        [defaults setObject:currentAppVersion forKey:@"appVersion"];
        [defaults synchronize];
    } else if ([previousVersion isEqualToString:currentAppVersion]) {
        // same version
    } else {
        // other version

        // ...

        [defaults setObject:currentAppVersion forKey:@"appVersion"];
        [defaults synchronize];
    }



    return YES;
}

在迅速-2版本看起来是这样的:

let defaults = NSUserDefaults.standardUserDefaults()

let currentAppVersion = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleShortVersionString") as! String
let previousVersion = defaults.stringForKey("appVersion")
if previousVersion == nil {
    // first launch
    defaults.setObject(currentAppVersion, forKey: "appVersion")
    defaults.synchronize()
} else if previousVersion == currentAppVersion {
    // same version
} else {
    // other version
    defaults.setObject(currentAppVersion, forKey: "appVersion")
    defaults.synchronize()
}

在迅速-3版本看起来是这样的:

let defaults = UserDefaults.standard

let currentAppVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as! String
let previousVersion = defaults.string(forKey: "appVersion")
if previousVersion == nil {
    // first launch
    defaults.set(currentAppVersion, forKey: "appVersion")
    defaults.synchronize()
} else if previousVersion == currentAppVersion {
    // same version
} else {
    // other version
    defaults.set(currentAppVersion, forKey: "appVersion")
    defaults.synchronize()
}


 类似资料:
  • 问题内容: 随着iOS 7的引入,应用程序在想要录制音频时必须请求访问麦克风。 如何检查应用程序是否可以访问麦克风? 在iOS 8 SDK中,我可以使用枚举,但是如何在iOS 7中进行检查? 信息: 我不想请求权限,我只想检查应用程序是否可以访问麦克风。(例如位置访问权限): 问题答案: 在这种情况下,无法获取..的当前状态。他们已将枚举指定为AVAudioSessionRecordPermiss

  • 使用,这很容易:

  • 我使用javascript来检查是否安装了应用程序,如果我的应用程序已安装,我想打开我的应用程序,否则它会重定向到play store帐户。问题是,它被重定向到播放商店,即使我已经安装了应用程序 这是我的. html文件,我正在其中检查应用程序。

  • 我有一个运行秒表服务的应用程序,我在前台运行该服务 我有一个显示计时器的通知,它每秒都会更新 在我离开应用程序30秒后,通知停止更新,我发现原因是我的设备的电池优化: 在我的应用程序的系统设置中,有一个电池优化部分,其中包含一个名为的设置,可以打开或关闭 我发现两个线程(回答线程1和回答线程2)试图回答如何检查设置的状态,它们都建议使用<但对我来说,这并不管用。无论设置是打开还是关闭,此函数都返回

  • > 启动appium服务器后,该应用程序安装在ios模拟器中。 当我尝试使用appium inspector进行检查时,appium inspector中的刷新按钮一直在加载,它根本不会加载应用程序的主页。

  • 问题内容: 确定字符串是否为函数结果的最佳方法是什么? https://www.php.net/manual/zh/function.serialize 问题答案: 我会说,尝试一下;-) 引用手册: 如果传递的字符串不是不可序列化的,则返回FALSE并发出E_NOTICE。 所以,你必须检查返回值是或不是 (有或,以确保不会有任何问题或或任何等于,我会说)。 只是当心通知:您可能希望/需要使用@