Уведомления в iOS при первом запуске создать уведомление


Я создал приложение для генератора назначений фотографий с помощью dreamweaver/phonegap с некоторыми завершающими штрихами в xcode. Я настроил пакет настроек, в котором пользователь может установить ежедневное напоминание on On off. он настроен на выключение, так как я бы не хотел раздражать людей, которые этого не хотят. Поскольку я сделал это с помощью 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];

}

1 2

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