在我的应用程序中,每当应用启动时,我都会更新用户位置.一旦更新的位置被接收或在applicationWillResignActive:中,我停止CLLocationManager.
在Info.plist中有一个NSLocationWhenInUseUsageDescription具有适当的描述.
在Info.plist中有一个NSLocationWhenInUseUsageDescription具有适当的描述.
如果应用被激活,然后立即移动到背景,蓝色横幅说’%MyApp%正在使用您的位置’出现不到一秒钟.这个横幅被隐藏,因为applicationWillResignActive:被调用.
我在Google地图中注意到了同样的问题,但苹果地图中没有.
解决方法
您可能在info.plist中设置了背景模式.如果你删除,那么蓝色的条不再出现了.
或者,您可以使用requestAlwaysAuthorization而不是在CLLocationManager上执行请求(并在info.plist文件中提供相关的NSLocationAlwaysUsageDescription),然后它也不会出现.
在我的情况下,我的应用程序在某些情况下正在使用后台的位置,而在这种情况下,我想要显示蓝色的条.但是,我不希望在退出应用程序时出现,而在后台没有位置.据我所知,这是不可能实现的(我已经询问了here).
编辑:请注意,从iOS-9开始,您可以确保仅当用户实际希望应用程序在后台使用该位置时才会显示蓝色条.见this answer.