【问题标题】:Location service issue in iphone app GPS arrow does not disapperiPhone应用GPS箭头中的定位服务问题不会消失
【发布时间】: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在逻辑上不同。

【问题讨论】:

    标签: ios iphone gps


    【解决方案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) 上重置定位服务!!希望我解释正确!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多