Ios Alert首次启动时设置通知

时间:2012-11-28 15:19:55

标签: ios notifications uialertview

我使用Dreamweaver / phonegap创建了一个摄影作业生成器应用程序,并在xcode中进行了一些最后润色。 我已经设置了一个设置包,用户可以在其中设置每日提醒。它被预设为OFF,因为我宁愿不惹恼那些不想要它的人。 因为我使用Dreamweaver完成了此操作,所以无法找到访问设置包的方法,因此用户必须转到设置,轻拂开关,然后重新启动应用程序才能使其生效。

我想做的是让应用在第一次启动应用时询问他们是否要设置每日提醒。如果他们点击是,它应该将提醒设置设置为ON / YES,如果不是,它应该继续,默认设置为no。
如果我能有一个“可能稍后”按钮,那就更棒了。

我在编程方面并不擅长,而且让我的工作变得很有意义(感谢网上这些网站和其他网站的帮助) 我尝试过使用各种IF / THEN,但我无法使用它。

所以这就是我到目前为止所做的...如果你们中的任何人能够帮助我解决这个问题,我将非常感激。
谢谢 Noel Chenier

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOtions:(NSDictionary *)launchOptions 

{

[[UIApplication sharedApplication]
 registerForRemoteNotificationTypes:
 UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];

NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults =[NSDictionary dictionaryWithObject:@"NO" forKey:@"enableNotifications"];
[defaults registerDefaults:appDefaults];
[defaults synchronize];

UILocalNotification *localNotif= [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotif) {
    NSLog(@"Recieved Notification %@",localNotif);
}

/*NSArray *keyArray = [launchOptions allKeys];
 if ([launchOptions objectForKey:[keyArray objectAtIndex:0]]!=[nil)

 {
 NSURL *url = [launchOptions objectForKey:[keyArray objectAtIndex:0]];
 self.invokeString = [url absoluteString];

 }*/

return  [super application:application didFinishLaunchingWithOptions:launchOptions];

}

1 个答案:

答案 0 :(得分:1)

这是一项非常简单的任务,特别是考虑到您已经在使用NSUserDefaults。您需要做的就是每次应用启动时都会在默认值中存储BOOL。例如:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOtions:(NSDictionary *)launchOptions {
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    if(![defaults boolForKey:@"firstLaunch"]) {
        //this key has never been set - this is the first launch
        [defaults setBool:YES forKey:@"firstLaunch"];

        //show your alert here that you only want to show on the
        //first application launch
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Some Title" 
            message:@"Some message" delegate:self cancelButtonTitle:@"Cancel" 
            otherButtonTitles:@"Some Button", @"Another Button", @"One More Button", 
            nil];
        [alert show];
    }
}