【问题标题】:iOS app relaunches automatically when user turn off and on the location services in iPhone settings当用户在 iPhone 设置中关闭和打开定位服务时,iOS 应用程序会自动重新启动
【发布时间】:2015-04-28 11:03:07
【问题描述】:

我在我的 iOS 应用中使用定位服务,它包括 SignificantLocationChangesRegion monitoring

我通过在 AppDelegate 中使用“UIApplicationLaunchOptionsLocationKey”来识别应用重新启动原因。

认为应用程序已终止。在这种情况下,当用户在 iPhone 设置中关闭并打开定位服务时,如下图所示,我的应用程序正在重新启动。

______________

注册 SingnificantLocationChangeRegionMonitoring 的 iOS 应用程序的预期行为还是我正在做的任何错误。

谢谢。

【问题讨论】:

  • 尚未检查过其他应用程序的这种行为,但通常情况并非如此,您能否检查其他几个应用程序是否存在类似情况以及您为什么使用 UIApplicationLaunchOptionsLocationKey 这个键任何特殊用途,例如你在调用一些服务等吗
  • 我正在使用'UIApplicationLaunchOptionsLocationKey'来确定系统是否因为新的位置事件重新启动应用程序或用户正常打开应用程序。
  • 好的,您是否尝试关闭 LaunchOptionsLocationKey 并再试一次?这可能是由于您正在使用的那个密钥,如果这是实际问题,那么我相信您需要使用一些替代方法来做到这一点
  • 我们无法修改“UIApplicationLaunchOptionsLocationKey”。这只是为了在我们使用重要位置更改或区域监控时确定是否有任何应用程序由于新的位置事件而重新启动。它只是一个 if 条件,如应用程序中的 if([launchOptions objectForKey:@"UIApplicationLaunchOptionsLocationKey"]):AppDelegate 中的 didFinishLaunchingWithOptions 方法。检查以下 URL 以了解有关“UIApplicationLaunchOptionsLocationKey”的更多信息。 community.estimote.com/hc/en-us/articles/…

标签: ios iphone core-location cllocationmanager location-services


【解决方案1】:

这是 iOS 的预期行为。每当更改应用的隐私设置时,操作系统都会发送一个 SIGKILL,这不是崩溃。

您可以在这个链接中找到官方文档:http://developer.apple.com/devcenter/download.action?path=/wwdc_2012/wwdc_2012_session_pdfs/session_710__privacy_support_in_ios_and_os_x.pdf

【讨论】:

  • 谢谢。因此,在这种情况下,如果用户在 iPhone 设置中关闭并打开位置服务,iOS 将唤醒应用程序(即使它处于终止状态)?在任何官方文档中是否明确提及?
猜你喜欢
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多