Search Posts in my Blog

Friday 2 March 2012

UILocalNotifications Tutorial



In this post we will see how to work with the local notification but before beginning with the further reading I would request you to read my previous post which is a description on UILocalNotification class. 


Design Phase: We will trigger the local notification with the help a button and then we will close the application with the help of the home button and then after a few seconds the application will fire a notification in the form of the alert view.





Step 1: Open Xcode and create a window based application and add a UIViewController subclass file to it with any name MyViewController or any name of your choice so now there are two files into your project that’s the MyViewController.h and MyViewController.m.

Step 2: Add a function which we will call on the touch of the button inside the MyViewController.h file and then give the body to that function in the MyViewController.m file





-(void)Trigger_LocalNotification
{
    [[UIApplication sharedApplicationcancelAllLocalNotifications];
    
    UILocalNotification *_localNotification = [[UILocalNotification alloc]init];
    
      //setting the fire dat of the local notification
    _localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];


    //setting the time zone
    _localNotification.timeZone = [NSTimeZone defaultTimeZone];
    
    //setting the message to display
    _localNotification.alertBody = @"You are notified";
    
    //default notification sound
    _localNotification.soundName = UILocalNotificationDefaultSoundName;
    
    //displaying the badge number
    _localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication]applicationIconBadgeNumber]+1;
    
    //schedule a notification at its specified time with the help of the app delegate
    [[UIApplication sharedApplication]scheduleLocalNotification:_localNotification];
    
}



Code Explanation: The first line of the code removes all the local notification from the system if they are declared. In the second line I am initializing the UILocalNotification variable and in the third line I am using the fireDate property to set the time when this local notification will trigger and as you can see that the notification will be triggered after 5 seconds.


The soundName is a property of the UILocalNotification class which is used to play a sound when the notification is triggered and when the app firing this local notification is not active then in that case a alert box will pop up with the default notification sound and the alert message is written in using the property alertBody. The last line of the code will attach this notification with the system.


Step 3: make sure to attach this function with the button touch up inside event





[btn addTarget:self action:@selector(Trigger_LocalNotification)forControlEvents:UIControlEventTouchUpInside];


Step 4: Now select the App Delegate.m file of your project and create the object of this class (MyViewController) 





#import "LocalNotification_DemoAppDelegate.h"
#import "MyViewController.h"

@implementation LocalNotification_DemoAppDelegate
@synthesize window=_window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
{
    // Override point for customization after application launch.
    MyViewController *obj = [[MyViewController alloc]init];
    [self.window addSubview:obj.view];
    [self.window makeKeyAndVisible];
    return YES;
}

Step 5: Run the application and when the app is launched in the simulator then quickly press the home button to see the alert box of the local notification. Here’s the view at the final output.






After you hit the button then please press the home button and after 5 seconds you will see the local notification alert box 






I hope that this post has helped you out in learning how to implement UILocalNotification

No comments:

Post a Comment