为了账号安全,请及时绑定邮箱和手机立即绑定

如何检测iPhone上首次启动应用程序

/ 猿问

如何检测iPhone上首次启动应用程序

iOS
慕九州4526052 2019-07-22 15:28:38

如何检测iPhone上首次启动应用程序

我如何才能检测到第一次发射

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
  // if very first launch than perform actionA
  // else perform actionB}

方法?


查看完整描述

3 回答

?
慕姐5112350
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    return YES;}


查看完整回答
反对 回复 2019-07-22
?
慕斯王

在……里面SWIFT 3,4试试这个:

func isAppAlreadyLaunchedOnce()->Bool{
        let defaults = UserDefaults.standard        if let isAppAlreadyLaunchedOnce = defaults.string(forKey: "isAppAlreadyLaunchedOnce"){
            print("App already launched : \(isAppAlreadyLaunchedOnce)")
            return true
        }else{
            defaults.set(true, forKey: "isAppAlreadyLaunchedOnce")
            print("App launched first time")
            return false
        }
    }

在……里面SWIFT 2尝尝这个,

func isAppAlreadyLaunchedOnce()->Bool{
    let defaults = NSUserDefaults.standardUserDefaults()

    if let isAppAlreadyLaunchedOnce = defaults.stringForKey("isAppAlreadyLaunchedOnce"){
        print("App already launched : \(isAppAlreadyLaunchedOnce)")
        return true
    }else{
        defaults.setBool(true, forKey: "isAppAlreadyLaunchedOnce")
        print("App launched first time")
        return false
    }}

最新情况:-OBJ-C我用这个,

+ (BOOL)isAppAlreadyLaunchedOnce {
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isAppAlreadyLaunchedOnce"])
    {
        return true;
    }
    else
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isAppAlreadyLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        return false;
    }}

参考文献OBJ-C:https://stackoverflow.com/a/9964400/3411787


查看完整回答
反对 回复 2019-07-22
?
潇潇雨雨

我为此写了一个小小的图书馆。它让我知道这是有史以来的第一次发布,还是仅针对这个版本,以及用户已经安装的任何旧版本。它在GitHub上可以在Apache 2许可下作为coapod使用:GBVersionTracking

你就把这个叫来application:didFinishLaunching:withOptions:

[GBVersionTracking track];

要检查这是否是第一次发射,只需在任何地方调用它:

[GBVersionTracking isFirstLaunchEver];

同样:

[GBVersionTracking isFirstLaunchForVersion];[GBVersionTracking currentVersion];[GBVersionTracking previousVersion];[GBVersionTracking versionHistory];


查看完整回答
反对 回复 2019-07-22

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信