Я попробовал множество блогов, но по какой-то причине он не срабатывает!
Может ли это быть, потому что я не спрашиваю разрешения?Должен ли я попросить пользователя для локальных?Из документации Apple я понимаю, что не знаю.
Это мой класс синглтона (проверено, он называется - с точкой останова)
//
// «FILENAME»
// «PROJECTNAME»
//
// Created by «FULLUSERNAME» on «DATE».
// Copyright «YEAR» «ORGANIZATIONNAME». All rights reserved.
// File created using Singleton XCode Template by Mugunth Kumar (http://mugunthkumar.com
// Permission granted to do anything, commercial/non-commercial with this file apart from removing the line/URL above
#import "NotifierSingelton.h"
static NotifierSingelton* _instance;
@implementation NotifierSingelton
+ (NotifierSingelton*)sharedInstance
{
@synchronized(self) {
if (_instance == nil) {
// iOS 4 compatibility check
Class notificationClass = NSClassFromString(@"UILocalNotification");
if(notificationClass == nil)
{
_instance = nil;
}
else
{
_instance = [[super allocWithZone:NULL] init];
}
// Allocate/initialize any member variables of the singleton class her
// example
//_instance.member = @"";
}
}
return _instance;
}
- (void) scheduleNotificationOn:(NSDate*) fireDate
text:(NSString*) alertText
action:(NSString*) alertAction
sound:(NSString*) soundfileName
launchImage:(NSString*) launchImage
andInfo:(NSDictionary*) userInfo
{
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
localNotification.fireDate = fireDate;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = alertText;
localNotification.alertAction = alertAction;
if(soundfileName == nil)
{
localNotification.soundName = UILocalNotificationDefaultSoundName;
}
else
{
localNotification.soundName = soundfileName;
}
localNotification.alertLaunchImage = launchImage;
//self.badgeCount ++;
localNotification.applicationIconBadgeNumber = 1;
localNotification.userInfo = userInfo;
// Schedule it with the app
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[localNotification release];
}
#pragma mark Singleton Methods
+ (id)allocWithZone:(NSZone *)zone
{
return [[self sharedInstance]retain];
}
- (id)copyWithZone:(NSZone *)zone
{
return self;
}
- (id)retain
{
return self;
}
- (unsigned)retainCount
{
return NSUIntegerMax; //denotes an object that cannot be released
}
- (void)release
{
//do nothing
}
- (id)autorelease
{
return self;
}
@end