2

我使用dreamweaver/phonegap 创建了一个摄影任务生成器应用程序,并在xcode 中进行了一些收尾工作。我已经设置了一个设置包,用户可以在其中设置每日提醒。它被预设为关闭,因为我不想惹恼不想要它的人。因为我是使用dreamweaver 完成的,所以我找不到访问设置包的方法,所以用户必须转到设置,轻按开关,然后重新启动应用程序才能使其生效。

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

我不擅长编程,要完成这项工作对我来说需要做很多工作(感谢这里和网络上其他网站的伟大人物的帮助)我尝试过使用各种 IF/THEN,但我可以让它工作。

所以这是我到目前为止所拥有的......如果你们中的任何人能够帮助我解决这个问题,我将不胜感激。
谢谢诺埃尔·切尼尔

- (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];

}

4

1 回答 1

1

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

- (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];
    }
}
于 2012-11-28T16:33:41.400 回答