gpt4 book ai didi

ios - iPhone 4s 和 iPhone 5 中的位置更新无法在后台模式 iOS 7.0 中运行,而手机处于理想状态

转载 作者:行者123 更新时间:2023-11-29 03:35:23 24 4
gpt4 key购买 nike

我正在开发一个跟踪应用程序,因为我使用位置管理器服务并且

设置desiredAccuracy = kCLLocationAccuracyNearestTenMeters

距离过滤器 = 60.0。

我想提供后台支持。为此我

设置应用程序寄存器以进行位置更新,

应用程序从网络下载内容

在我的 info.plist 中。我把

[[UIApplication sharedApplication] setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];

此代码位于 didFinishLaunchingWithOptions 方法中。

我也使用此方法来调用 startUpdatingLocation 位置管理器方法

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler

这一切都可以在 iOS 7 和 iPhone4 上运行

但是我在 iPhone4S 和 iPhone5 中还有另外两个设备,当设备非常理想时,应用程序处于后台,因此导航符号会消失,并且我的位置数据不会在服务器上更新。

当手机是理想的并且当我启动我的应用程序时它不在后台,我的应用程序从登录屏幕启动。

因此后台位置更新不适用于装有 iOS7 的 iPhone5 和 iPhone4S。

请为我提供解决方案。

我的应用程序用于跟踪目的,如果我没有获得更新的位置,那么它就没用了。

最佳答案

你可以在你的 AppDelegate.m 中添加这个方法

- (void)applicationDidEnterBackground:(UIApplication *)application
{
bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
NSLog(@"ending background task");
[[UIApplication sharedApplication] endBackgroundTask:bgTask];
bgTask = UIBackgroundTaskInvalid;
}];

timer = [NSTimer scheduledTimerWithTimeInterval:5
target:locationManager
selector:@selector(startUpdatingLocation)
userInfo:nil
repeats:YES
];
}

关于ios - iPhone 4s 和 iPhone 5 中的位置更新无法在后台模式 iOS 7.0 中运行,而手机处于理想状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245807/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com