如何确定用户第一次运行应用程序?

6

我最近遇到了一个iOS应用程序的问题。在我的应用中,一个指令视图将会在第一次运行时出现,然后从此以后就会隐藏起来。我应该如何实现这个效果呢?


2
三个问题的副本:https://dev59.com/OnI-5IYBdhLWcg3wy7-n,https://dev59.com/7VzUa4cB1Zd3GeqP0zMr,https://dev59.com/kXVC5IYBdhLWcg3wZwJT - pasawaya
4个回答

20

尝试使用这个函数:

- (BOOL) isFirstRun
{
  NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];  
  if ([defaults objectForKey:@"isFirstRun"])
  {
    return NO;
  }

  [defaults setObject:[NSDate date] forKey:@"isFirstRun"];
  [[NSUserDefaults standardUserDefaults] synchronize];  

  return YES;
}

在 App Delegate 或视图类中? - user1525984
@GabrielMolter 任何地方都可以。最好的方式是在你的单例类中。 - CReaTuS

5
在您的应用程序委托中检查用户默认设置中的一个键(您自己的自定义键,例如“AppWasAlreadyStartedPreviously”)。如果该键尚不存在,则为第一次运行。您可以显示指导视图并将该键添加到用户默认设置中。下次用户启动应用程序时,您将在用户默认设置中找到该键,并知道这不是第一次运行。
请参阅NSUserDefaults的文档。

1

每次启动应用程序时,存储文件并检查文件是否存在。如果文件不存在,则显示介绍,并创建该文件。


这个管用,但是@DrummerB的回答是Cocoa应用程序的标准方法。 - sosborn

0
我认为唯一的方法是将一个值存储到指定的文件中,当运行应用程序时,您应该首先检查该值,然后根据结果处理是否已经运行了该应用程序。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接