如何在每次第3次推出应用程序时显示弹出窗口?

时间:2011-07-23 05:11:57

标签: iphone objective-c ios cocoa-touch ios4

我需要每隔第三次显示一个弹出窗口我的应用程序已经过了。

我正在使用Appirater来评价我的应用。如果我在其中添加代码以完成任务,那么可以吗? 或者还有其他任何方式来确认我的应用程序每隔三次启动一次吗?

3 个答案:

答案 0 :(得分:3)

在这里,您可以在NSUserDefault中存储App启动计数,并可以每三次启动应用程序时显示警报。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    if(![[[NSUserDefaults standardUserDefaults] valueForKey:@"firstTime"] isEqualToString:@"Yes"])
    {
        [[NSUserDefaults standardUserDefaults] setValue:@"Yes" forKey:@"firstTime"];

        [[NSUserDefaults standardUserDefaults] setInteger:([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] + 1) forKey:@"ApplaunchCount"];

        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    else
    {
        [[NSUserDefaults standardUserDefaults] setInteger:([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] + 1) forKey:@"ApplaunchCount"];
        [[NSUserDefaults standardUserDefaults] synchronize];

        if([[NSUserDefaults standardUserDefaults] integerForKey:@"ApplaunchCount"] % 3 ==0)
        {
            UIAlertView *lanuchAlert = [[UIAlertView alloc] initWithTitle:@"Your Message Title" message:@"Your Message Text" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
            [lanuchAlert show];
            [lanuchAlert release];
        }
    }

    // Add the tab bar controller's current view as a subview of the window
    [self.window addSubview:navigationController.view];
    [self.window makeKeyAndVisible];

    return YES;
}

如果您需要更多帮助,请与我们联系。

答案 1 :(得分:2)

您可以在“Appirater.h”中调整LAUNCHES_UNTIL_PROMPT。或者您可以使用userDefaults。

答案 2 :(得分:1)

我不知道 Appirater ,但你可以使用 NSUserDefaults 和一个简单的逻辑来实现这一点。将 NSNumber 值设置为用户默认值,并在每次加载应用时将其递增。当您尝试使用密钥访问它时,该数字最初将为 nil 。如果 nil 设置 1 作为值,并在每次加载应用时递增。如果数字变为3,则显示弹出窗口并将数字重置为0.