所以我设法在我的应用中设置了本地通知。
NSDate *notifTime = [[NSDate date] dateByAddingTimeInterval:time];
UIApplication *app = [UIApplication sharedApplication];
UILocalNotification *notif = [[UILocalNotification alloc] init];
if (notif) {
notif.fireDate = notifTime;
notif.timeZone = [NSTimeZone defaultTimeZone];
notif.repeatInterval = 0;
notif.alertTitle = title;
notif.alertBody = text;
if (sound == nil) {
NSLog(@"default sound");
}
else {
NSLog(@"other sound");
notif.soundName = sound;
};
[app scheduleLocalNotification:notif];
}
在名为
的方法内部- (void)createDateNotification:(NSString*) title alertText: (NSString*)text timeToWait: (NSTimeInterval)time soundToPlay: (NSString*)sound;
当我调用该方法时,通知就像预期的那样运行。我的问题是,在我的游戏中我希望它是当用户点击本地通知它将运行一个方法,现在就是这样做
-(void)rewardUser {
NSLog(@"User rewarded")
}
但有时它可能会运行不同的方法,我不知道该怎么做。从快速到客观的任何事情都将受到赞赏。非常感谢!
答案 0 :(得分:1)
覆盖- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification
中的AppDelegate
并做你的事。
答案 1 :(得分:0)
我设法解决了这个问题。创建警报时,我将操作设置为我的类中的公共字符串,称为action
,并且提到@songchenwen,我重写了didReceiveLocalNotification以检查action
是否等于多个变量如果是的话,为每个人运行一个方法。
我打电话给这样的方法设置一个动作字符串
[self createReminderNotification:@"Give50Coins" messageTitle:@"t" messageBody:@"gfdhgsh" timeToWait:2 soundToPlay:@"audio.wav"];
在方法中,我初步设置了通知设置的所有细节。
NSDate *notifTime = [[NSDate date] dateByAddingTimeInterval:time];
UIApplication *app = [UIApplication sharedApplication];
UILocalNotification *notif = [[UILocalNotification alloc] init];
action = actionAfterNotifiy;
if (notif) {
notif.fireDate = notifTime;
notif.timeZone = [NSTimeZone defaultTimeZone];
notif.repeatInterval = 0;
notif.alertTitle = title;
notif.alertBody = message;
if (sound == nil) {
NSLog(@"default sound");
}
else {
NSLog(@"other sound");
};
}
[app scheduleLocalNotification: notif];
和- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification
我这样做了,
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {
if ([action isEqualToString:@"Give50Coins"]) {
NSLog(@"wheyy");
}
else {
//random stuff here
}
}