菜鸟教程小白 发表于 2022-12-12 19:02:36

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 = @&#34;Event is in three days!&#34;;

localNotif.alertAction = nil;

localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 0;
[ scheduleLocalNotification:localNotif];   

UIAlertView *alert = [ initWithTitle:@&#34;Event scheduled.&#34;
                                                message:@&#34;You will be notified three days before the event.&#34;
                                             delegate:nil
                                    cancelButtonTitle:@&#34;Okay.&#34;
                                    otherButtonTitles:nil];
;

}
</code></pre>

<p>如果有帮助,这里还有一些额外的代码,这是来 self 的 ViewController 的更多代码,用于在用户输入的选择器中保存日期:</p>

<pre><code>- (IBAction)dateChanged:(id)sender
{
    NSUserDefaults *defaults = ;

    NSDate *selectedDate = ;

    ;
    ;

}
- (void)viewDidLoad {
    NSDate *storedDate = [
                        objectForKey:@&#34;ImportantDatesViewController.selectedDate&#34;];
    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]
查看完整版本: iphone - iOS:本地通知不会按时触发