iOS 9 - 位置后台更新仅在第二次推送到后台时发生
iOS 9 - Location background updates only happening on second push to background
在 iOS9 中,当应用程序进入后台时(设置了所有适当的后台处理标志等,包括新的 allowsBackgroundLocationUpdates 属性),位置管理器报告更新 10 秒然后睡觉。将应用程序返回前台并再次返回后台后,更新按预期持续工作。
这仅发生在 iOS9(非测试版)中,而不是 iOS7 或 iOS8。
还有其他人遇到过这种行为吗?
设置 allowsBackgroundLocationUpdates 被记录为能够控制后台处理的运行时设置;但是,标志 不能 设置在:
applicationDidEnterBackground:
如果标记一直失败,因为无法在此方法中使用;那么它会更容易追踪,但它仅在第一次进入后台时失败。
这意味着在以下位置重置标志存在问题:
applicationWillEnterForeground:
结果是无法在方法生命周期中设置标志;因此,该标志通常在应用程序初始化时设置,这意味着该标志就目前而言并不是特别有用。
在 iOS9 中,当应用程序进入后台时(设置了所有适当的后台处理标志等,包括新的 allowsBackgroundLocationUpdates 属性),位置管理器报告更新 10 秒然后睡觉。将应用程序返回前台并再次返回后台后,更新按预期持续工作。
这仅发生在 iOS9(非测试版)中,而不是 iOS7 或 iOS8。
还有其他人遇到过这种行为吗?
设置 allowsBackgroundLocationUpdates 被记录为能够控制后台处理的运行时设置;但是,标志 不能 设置在:
applicationDidEnterBackground:
如果标记一直失败,因为无法在此方法中使用;那么它会更容易追踪,但它仅在第一次进入后台时失败。
这意味着在以下位置重置标志存在问题:
applicationWillEnterForeground:
结果是无法在方法生命周期中设置标志;因此,该标志通常在应用程序初始化时设置,这意味着该标志就目前而言并不是特别有用。