在创建 iPhone 应用程序时,是否可以在应用程序关闭时在 iphone 上生成弹出警报(类似于推送通知)。一个简单的例子是有一个可以在 2010 年 1 月 5 日下午 5:00 设置提醒的应用程序。可以关闭应用程序,此时会弹出提醒。我认为这是不可能的,但想知道是否有人有任何想法?同样,我不想要一个推送解决方案,而是一个不需要互联网访问的解决方案(即来自 iPhone 的“本地”推送)。谢谢。
问问题
5299 次
4 回答
9
你现在就可以做到!这真的很简单。创建一个 UILocalNotification。
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
return;
//Initialise notification
localNotification.fireDate = yourDate;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
localNotification.alertBody = [NSString stringWithFormat:NSLocalizedString(@"Hey, you've forgotten something", nil)];
localNotification.alertAction = [NSString stringWithFormat:NSLocalizedString(@"%@", nil), buttonTitle];
localNotification.soundName = UILocalNotificationDefaultSoundName;
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
[warningDate release];
[localNotification release];
于 2010-10-13T10:36:58.457 回答
2
对不起,伙计,不可能。
重新打开应用程序时可能会有弹出窗口的解决方案,但在关闭且没有推送时不会。
编辑:实际上,是的!!,但它是janktacular。您可以创建一个 .ical 文件,例如 15 分钟警报,将其同步到 caldav/webdav 服务器并让 iPhone 在邮件/联系人/日历设置窗格中订阅它。查看 Omnifocus,这是他们的推动工作。它会同步由于我的 MobileMe iDisk 而产生的东西,并且我订阅了日历 - Boom、通知。
于 2009-09-23T16:58:36.247 回答
0
很不幸的是,不行。这将需要对您的应用程序进行某种后台处理,而这在当前的 iPhone SDK 中是不允许的。推送通知是我担心的唯一解决方案。
如果是开发工作的问题,我知道 Urban Airship 有一些解决方案可以让推送通知更容易。
于 2009-09-23T16:59:06.997 回答
0
不,您必须使用推送通知。您的应用程序必须运行才能显示任何警报。
我能想到的所有解决方法都需要访问互联网:以某种方式将事件添加到日历中,或者再次使用推送通知。urbanairship.com 有一个非常简单的推送通知服务,您可以使用它。
于 2009-09-23T17:01:03.217 回答