【问题标题】:Iphone Background task even after application in closed即使在应用程序关闭后,Iphone 后台任务
【发布时间】:2014-03-05 22:11:31
【问题描述】:

我一直在阅读文档,但没有任何意义。所以我决定问这个问题。 Iphone 上的应用程序如带有闹钟的时钟。当我设置闹钟并关闭应用程序时,即使我已经关闭了应用程序,应用程序仍会在凌晨 4:30 通知我。现在我的理解是,为了让这样的事情起作用,你必须让它一直在后台运行。这是没有意义的部分。如果我通过双击我的主页按钮然后向上滑动以摆脱应用程序来完全关闭应用程序,如果不再在后台运行,应用程序如何监控时间?苹果说他们是 5 个州
1-未运行
2-无效
3-主动
4-背景
5-暂停

以上解释位于here 我会想象当我关闭一个应用程序时,状态没有运行。然而
报警应用程序仍然出现。如何?这正在杀了我。有没有只有原生应用才能拥有的特殊状态?
任何信息或进一步的理解将不胜感激。

【问题讨论】:

  • 你说的闹钟是iPhone自带的吗?如果是,那么这是 Apple 产品,并且肯定可以比其他应用程序做得更多。我不知道其他可以做到这一点的闹钟应用程序。
  • Volker 这就是我想的,但我想确保我没有失去我的弹珠。试图加深我的理解,但我可能还缺少一些东西。
  • Apple 在今年的 WWDC 上快速强调,他们将通过 dbl-tap 向上滑动动作杀死应用程序解释为用户意图阻止该应用程序执行任何操作。恢复应用的唯一方法是让用户重新启动它。
  • 您不需要运行应用程序,您可以安排本地通知,该通知将唤醒您的应用程序。本地通知将由 iOS 管理,而不是由应用程序的后台运行管理。支持后台模式,但该模式不是连续的,您的应用应将自己声明为基于位置、voip 或音频之一(或组合)。

标签: ios iphone objective-c


【解决方案1】:

米格尔并非如此。您正在寻找的是:

https://developer.apple.com/library/ios/documentation/iPhone/Reference/UILocalNotification_Class/Reference/Reference.html

使用 UILocalNotifications,您的应用根本不需要跟踪时间。它安排一个通知,操作系统会跟踪它。我已经构建了很多带有通知/警报的应用程序。我希望这会有所帮助。

【讨论】:

  • 谢谢你,威廉。我一遍又一遍地读了一遍,直到我读了你的帖子才明白它是有道理的。谢谢!!
【解决方案2】:

您可以使用本地通知。

当您之前添加的本地通知触发时,iOS 会通知用户。 [iOS 会添加通知,但您的应用根本不会运行当用户点击通知时,应用就会打开。]

- (void)applicationDidEnterBackground:(UIApplication *)application
{
   UILocalNotification *notification = [[UILocalNotification alloc]init];
   notification.repeatInterval = NSDayCalendarUnit;
   [notification setAlertBody:@"Hello world"];
   [notification setFireDate:[NSDate dateWithTimeIntervalSinceNow:1]];
   [notification setTimeZone:[NSTimeZone  defaultTimeZone]];
   [application setScheduledLocalNotifications:[NSArray arrayWithObject:notification]];
}

教程http://www.appcoda.com/ios-programming-local-notification-tutorial/ http://www.icodeblog.com/2010/07/29/iphone-programming-tutorial-local-notifications/

概念指南https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多