iPhone应用GPS箭头中的定位服务问题不会消失
Posted
技术标签:
【中文标题】iPhone应用GPS箭头中的定位服务问题不会消失【英文标题】:Location service issue in iphone app GPS arrow does not disapper 【发布时间】:2014-01-29 14:49:32 【问题描述】:我有一个使用定位服务的应用程序。 代码如下:
版本 4.0.0
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
if (nil == locationManager)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startMonitoringSignificantLocationChanges];
//some other code
一旦应用进入后台位置,状态栏中的图标不会消失。
版本 4.0.1
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
if (nil == locationManager)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager startUpdatingLocation];
//some other code
现在的问题:
1) 将现有应用 (4.0.0) 更新到新版本 4.0.1 后,一旦应用进入后台,位置图标将停止显示在状态栏中。
但是,在某些设备(特别是 ios6)中,图标不会消失。但是通过设备重置位置服务后:设置>常规>重置>重置位置和隐私
新应用程序版本 4.0.1 图标确实会在应用程序进入后台模式 10 秒后消失。
我想知道为什么会这样?为什么某些 iOS 或设备用户必须重置定位服务。
版本 4.0.2
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
if (nil == locationManager)
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
[locationManager stopMonitoringSignificantLocationChanges];
[locationManager startUpdatingLocation];
//some other code
2) 如果应用程序直接从 4.0.0 更新到 4.0.2,我不需要重置 Lcoation。 应用程序进入后台模式 10 秒后,位置图标将消失。为什么这与问题1在逻辑上不同。
【问题讨论】:
【参考方案1】:你检查过你的项目设置Background Modes
吗?
尝试在解决方案面板中单击您的项目,转到Capabilities
选项卡并选择Background Modes
。
然后选择适合你应用的模式(我猜你至少需要开启Location updates
)
【讨论】:
我部分找到了答案。在 4.0.0 版(以上代码)中,我有 startMonitoringSignificantLocationChanges 。根据 Apple 的说法,如果您启动此服务并且您的应用程序随后被终止,如果有新事件到达,系统会自动将应用程序重新启动到后台。【参考方案2】:要使图标消失,您的应用必须停止定位服务,尤其是当应用使用后台模式时:
呼叫:
stopUpdatingLocation
进入后台时。然后几秒钟后,图标会消失。
对于重要的位置模式,它是不同的。 当检测到 sig Loctaion 更改并且您的应用程序尚未运行时,您的应用程序始终会重新启动。因此,要使图标消失,您必须停止重要的定位服务。
【讨论】:
感谢您对 Alex 的评论但是我想知道为什么 4.0.0 到 4.0.1 的应用程序没有按预期工作!如果我删除了应用程序(4.0.0)并且所有相关数据都应该被删除!!为什么我需要在某些 iOS (6) 上重置定位服务!!希望我解释正确!以上是关于iPhone应用GPS箭头中的定位服务问题不会消失的主要内容,如果未能解决你的问题,请参考以下文章
为啥 iPhone GPS 箭头出现在状态栏中,即使我没有在位置管理器上调用 startUpdatingLocation?
是否可以使用 iPhone 中的 gps 找到当前位置的出租车等可用服务 [关闭]
从 onPause Android 调用删除更新时 GPS 图标不会消失