gpt4 book ai didi

ios7 - iBeacon 如何唤醒我们的应用程序?多长时间?以及如何延长那个时间?

转载 作者:行者123 更新时间:2023-12-04 10:04:05 24 4
gpt4 key购买 nike

在对 iBeacon 进行了一些研究后,我提出了以下我无法找到扩展帮助的问题:

  • iBeacon 如何唤醒我们的应用程序?如果应用程序被挂起,它是否会通过将我们的应用程序置于后台模式来唤醒我们的应用程序?
  • iBeacon 将我们的应用置于何种后台模式?在这种后台模式下我们可以做什么?
  • 在再次暂停之​​前,这种后台模式可以持续多久?即将挂起时,调用了什么函数?
  • 如果需要,我们如何延长这个后台时间?
  • 众所周知,iBeacon 仅在区域更改(进入/退出)时唤醒我们的应用程序,但是如果用户仍在同一区域中,我们如何重新启动用户的应用程序?

  • 先感谢您。

    最佳答案

    一些答案:

  • iBeacon 可以使用监控 API 将您的应用程序唤醒到后台。即使您的应用程序在设备重新启动后尚未启动,或者即使该应用程序已从任务切换器中终止(尽管后者需要 iOS 7.1+),它也可以执行此操作。您的应用程序调用 startRangingBeaconsInRegion: CLLocationManager上的方法,并实现 CLLocationManagerDelegate协议(protocol)的locationManager:didDetermineState:forRegion: , locationManager:didEnterRegion:和/或 locationManager:didExitRegion:方法。
  • 即使您的应用程序没有运行,当检测到与传递的区域定义匹配的信标时,您的应用程序也会启动到后台并调用上述方法。您可以在此时执行任何不需要用户界面的代码。通常,这包括更新应用程序状态、调用 Web 服务或发送本地通知以鼓励用户将应用程序置于前台。 (不,您不能以编程方式将您的应用程序置于前台。)
  • 该应用程序只能在后台运行大约 5 到 10 秒,然后再次暂停。 (如果您的应用程序已经在前台,它将无限期地继续运行。)如果它在这个短暂的时间后暂停,您的类实现 UIApplicationDelegate协议(protocol) applicationWillResignActive:方法被调用。
  • 您可以调用 beginBackgroundTaskWithExpirationHandler: 请求额外的后台时间。 UIApplication 的方法类(class)。但是不能保证获得额外的时间,您不能无限期地继续这样做。
  • 一旦您的应用进入某个区域并收到后台通知,您将无法获得第二次通知来唤醒同一区域的应用,直到您退出它。您可以通过定义多个区域并拥有多个可能触发更多进入和退出的信标来玩这个游戏。但这些都是解决方法。通常,如果没有额外的进入/退出事件,您无法使用此技术重新启动应用程序。
  • 关于ios7 - iBeacon 如何唤醒我们的应用程序?多长时间?以及如何延长那个时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24590534/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com