2012-07-11 84 views
0

当我的应用程序加载时,它充当安装程序。当你点击“安装”按钮时,应用程序就完成了它的任务。它会安装所需的内容,然后您可以继续使用该应用程序。我的应用程序工作正常,但每当我关闭多任务栏的应用程序时,该应用程序就会再次像原始安装程序一样加载。因此,每当应用程序再次加载时,用户不得不重新安装。我希望用户只需安装一次该项目,即可关闭该应用,然后再次使用该内容而无需重新下载。我知道我需要为此使用NSUserDefaults,但我也希望“安装”按钮随安装程序一起永久消失。 注意这不是一家商店。这仅仅是一个安装内容的测试应用程序,我可以继续使用。我怎么能做到这一切?任何帮助表示赞赏。谢谢!应用程序关闭后按钮保持隐藏状态

回答

1

执行了几次这样的事情后,最好到detect first launch,并根据它显示安装程序屏幕。但是,有些情况下用户不完全完成安装,并且应用程序以某种方式出现背景或死亡。在这种情况下,您需要存储另一个记录用户是否已完成安装的变量。

最简单的方法是在最初没有完成安装的情况下将模式视图控制器作为一种向导来呈现,并且如果是通常情况下加载主屏幕。

+0

与其检测到首次启动,他应该检测到他提到的“安装”的完成情况。如果他总是强迫用户在第一次启动时安装,那么我想它大致相同...... – 2012-07-11 05:07:23

+0

是的,我在帖子中说明了这一点。 – CodaFi 2012-07-11 05:09:48

0

只需在安装之前查询用户默认值。如果它没有安装,然后安装任何需要的,然后设置用户的默认值!

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
NSString *isInstalled = [defaults objectForKey:@"installed"]; 
if(![isInstalled isEqualToString: @"true"]) { 
    //do installation here 

    NSString *hasUserInstalled = @"true"; 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    [defaults setObject:hasUserInstalled forKey:@"installed"]; 
    [defaults synchronize]; 
} 
+0

可能更好使用boolForKey ..感觉更安全。虽然仍然达到相同的效果:) – bgoers 2012-07-11 05:03:58

+0

我确实看到你要去哪里用这种方法,但安装方法太多,他们不能在“//安装在这里”部分调用。我有几个按钮出现在安装程序中,在杀死应用程序时需要随安装程序永久消失。我该如何做到这一点,以便在应用程序被杀后,按钮隐藏起来几乎隐藏了安装程序?我只是把它作为一个有趣的测试应用程序,可能用于实际应用程序,所以它不像我将这个副本提交给App Store。 – 2012-07-11 05:36:20

+0

这一切都将处理这种检查NSUserDefaults的方法。但是,这一切都将取决于你如何决定实施它。在你的情况下,我会做同样的检查,但检查相反的情况 - 如果isInstalled等于true,则执行myInstallerButton.hidden = YES。否则,按钮保持可见状态,用户可以点击它! – bgoers 2012-07-11 16:13:15

相关问题