gpt4 book ai didi

ios - 获取用户位置警报不会在 iOS 8 中停留在屏幕上

转载 作者:行者123 更新时间:2023-11-28 19:54:49 26 4
gpt4 key购买 nike

我试图在获取用户位置之前获得用户的授权。我为此使用了这段代码:

        self.locationManager  = [[CLLocationManager alloc] init];
[self.locationManager setDelegate:self];
if ([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
// iOS8+
// Sending a message to avoid compile time error
[self.locationManager requestAlwaysAuthorization];
}
[self showIndicatorView];
self.getCityService = [[GetCitiesService alloc] initServiceWithDelegate:self isLocalCall:NO];
[self.getCityService fetchCities];

我在屏幕上看到了警告,但在我允许或不允许之前,它从屏幕上消失了,应用程序未被授权。

我希望我的代码在用户允许之前停止。

最佳答案

显然在 iOS 8 SDK 中,在开始位置更新之前需要调用 CLLocationManager 上的 requestAlwaysAuthorization(用于后台定位)或 requestWhenInUseAuthorization(定位仅在前台时)。

Info.plist 中还需要 NSLocationAlwaysUsageDescription 或 NSLocationWhenInUseUsageDescription 键,并在提示中显示一条消息。添加这些解决了我的问题。

希望对其他人有帮助。

编辑:有关更广泛的信息,请查看:http://nevan.net/2014/09/core-location-manager-changes-in-ios-8/

关于ios - 获取用户位置警报不会在 iOS 8 中停留在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103484/

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