首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS 7-在应用程序进入后台后没有调用didUpdateLocations委托

iOS 7-在应用程序进入后台后没有调用didUpdateLocations委托
EN

Stack Overflow用户
提问于 2013-10-07 18:23:09
回答 2查看 5.4K关注 0票数 1

我能够接收所有(模拟器和iPad设备)上的位置更新,除了我的iPhone设备。

代码语言:javascript
复制
self.locationManager = [[[CLLocationManager alloc] init] autorelease];
self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
self.locationManager.delegate = self;

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLLocation *newLocation = locations.lastObject;
    NSLog(@"didUpdateLocations newLocation = %@", newLocation);
.
.
}

只要app在前台,我就接收didUpdateLocations (NSLog消息),但是在我按了Home按钮(即app进入后台)之后,我就停止接收didUpdateLocations中的通知。“控制台”不显示NSLog消息,此后,状态栏中的位置图标也在10秒内消失。

什么起作用了什么都不行-

  1. 似乎安装在我的另一个iOS 3gs上的iPhone 6可以正常工作。小位置图标不会消失。
  2. 在iPad设备上使用iOS 7进行测试,应用程序在后台继续运行。
  3. 所有的模拟器(iPhone和iPad)和iOS 6以及iOS 7都可以像预期的那样工作。
  4. 当我用iPhone 7在我的iOS 4上测试它时,这个应用程序不会在后台运行。因此,这个问题可能只出现在iOS 7(甚至一些特定的iPhone设备)上。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-07 18:30:52

我想我找到了这个问题的原因。"Settings“应用程序在iOS 7中具有通用>”后台应用刷新“,该应用程序被关闭:(我一打开"ON",我的应用程序就开始在后台运行:)

票数 3
EN

Stack Overflow用户

发布于 2014-10-20 20:09:13

上面的解决方案不适用于我在iOS 8.X中的特殊情况,因此,我想发布对我有用的解决方案,希望它能帮助其他人。

我成功地设置了在前景、背景和挂起状态中接收到的无声推送通知。一旦我收到PN,我将需要获得位置更新。在应用程序处于前台时,我能够做到这一点,但是,当应用程序处于后台时,我无法做到这一点。

我需要做的是向info.plist文件添加一个名为NSLocationAlwaysUsageDescription的键,并给它一个值。值可以类似于“背景中需要您的位置”。

在添加密钥之后,我在AppDelegate.m的应用程序中添加了以下代码:didFinishLaunchingWithOptions: method -

代码语言:javascript
复制
// Check for iOS 8.X. Without this guard the code will crash with "unknown selector" on iOS 7.
if([[self locationManager] respondsToSelector:@selector(requestAlwaysAuthorization)])
{
    [[self locationManager] requestAlwaysAuthorization];
}

一旦我添加了这两部分,我就能够成功地获得背景中的位置更新。

谢谢,有声的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19231905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档