Уведомления в 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 ответ:
Это довольно простая задача, особенно учитывая, что вы уже используете
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]; } }