iphone - iOS:本地通知不会按时触发
<p><p>问题是我的通知在设置时没有通过。我在 Nib 里放了一个日期选择器,在它下面放了一个按钮。用户应该在选择器中设置日期,然后单击按钮将通知设置为在日期前 60 小时触发。所以,看起来我只是在让被解雇者识别日期选择器中的日期方面遇到问题。这是代码,它在我的 ViewController 中:</p>
<pre><code>- (IBAction)scheduleNotifButton:(id)sender {
UILocalNotification *localNotif = [ init];
NSDate *selectedDate = ;
localNotif.fireDate = ;
localNotif.timeZone = ;
localNotif.alertBody = @"Event is in three days!";
localNotif.alertAction = nil;
localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[ scheduleLocalNotification:localNotif];
UIAlertView *alert = [ initWithTitle:@"Event scheduled."
message:@"You will be notified three days before the event."
delegate:nil
cancelButtonTitle:@"Okay."
otherButtonTitles:nil];
;
}
</code></pre>
<p>如果有帮助,这里还有一些额外的代码,这是来 self 的 ViewController 的更多代码,用于在用户输入的选择器中保存日期:</p>
<pre><code>- (IBAction)dateChanged:(id)sender
{
NSUserDefaults *defaults = ;
NSDate *selectedDate = ;
;
;
}
- (void)viewDidLoad {
NSDate *storedDate = [
objectForKey:@"ImportantDatesViewController.selectedDate"];
if (storedDate == nil) {
storedDate = ;
}
;
}
</code></pre>
<p>我已经研究此代码 3 天了,但无法弄清楚为什么我的通知没有按预期通过。非常感谢任何帮助,谢谢!</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>你明白 UILocalNotifications 和远程通知是不同的东西吗?</p>
<p>在 didRegisterForRemoteNotificationsWithDeviceToken 中,您可以获得用于远程通知的设备 token 。远程通知是从服务器发送的,因此您必须将该 token 保存在您的服务器上,然后使用您的服务器发送任何远程通知。</p>
<p>你为什么不改变这个:</p>
<pre><code>localNotif.fireDate = ;
</code></pre>
<p>到这里:</p>
<pre><code>localNotif.fireDate = [ dateByAddingTimeInterval:60];
</code></pre>
<p>然后本地通知应该会在一分钟内消失。可能问题出在您设置的日期上。</p></p>
<p style="font-size: 20px;">关于iphone - iOS:本地通知不会按时触发,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/8964541/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/8964541/
</a>
</p>
页:
[1]