当前位置: 首页 > 知识库问答 >
问题:

如何使我的ios应用程序显示在“设置”中的“位置服务”中

阎啸
2023-03-14

我写了一个CLLocationManager ios应用程序。但是,我无法看到我的应用程序出现在位置服务中的设置在我的iPhone上。我需要在Xcode中的ios项目中设置plist中的特定值吗?提前感谢!

共有2个答案

赖诚
2023-03-14

在iOS-8中,需要进行一些更改:

locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    if([locationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]){
        [locationManager requestWhenInUseAuthorization];
    }else{
        [locationManager startUpdatingLocation];
    }

需要在plist中添加2个空值的额外键1)NSLocationWhenInUseUsagedescription ption 2)NSLocationAlwaysUsagedescription ption

#pragma mark - CLLocationManagerDelegate

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
    NSLog(@"didFailWithError: %@", error);
    UIAlertView *errorAlert = [[UIAlertView alloc]
                               initWithTitle:@"Error" message:@"Failed to Get Your Location" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [errorAlert show];
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
    NSLog(@"didUpdateToLocation: %@", newLocation);
    CLLocation *currentLocation = newLocation;

    if (currentLocation != nil) {
        NSString *strLat = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.longitude];
        NSString *strLong = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.latitude];
    }
}
施英哲
2023-03-14

一旦调用实际需要位置跟踪的代码,它应该会自动出现(每当弹出窗口首次显示:你允许吗...)

试着打这样的电话:

[self.locationManager startUpdatingLocation];

这应该可以做到

 类似资料:
  • 我的应用程序使用iPhone的GPS功能,以前工作正常,因为它提示用户允许使用定位服务,并显示在“设置”下 在运行不同操作系统(iOS 4-5)的多台设备(iPhone3GS、iPhone4、iPhone4S)中发现了这个问题。苹果最近改变了定位服务的工作方式了吗?

  • 从2015年的谷歌I/O中,我了解到谷歌play服务中有一个新的对话框,用户不需要退出当前应用程序来打开位置。下面的图片显示了它的样子: 现在我的问题是,我如何在我的项目中实现这一点?我已经找了,但没有找到任何有效的答案,请帮助!

  • 问题内容: 是否有可能通过cron在终端或任何其他GUI中显示结果。 例如,我只编写了一个脚本来显示每分钟在终端的时间。但它什么也没做。因此cron可以在GUI中显示结果。 问题答案: 您可以通过将变量设置为来执行此操作。例如: 此crontab行将每分钟打开gui软件gedit。

  • 我的创业公司获得了Azure BizSpark订阅。我刚刚创建了一个API应用程序和应用程序服务计划。我们公司位于北欧,但API服务和应用程序服务计划的位置均位于“美国中南部”。创建API应用程序时,我没有看到任何指定位置的选项。我也看不到任何选项,以改变位置,现在该应用程序已创建。这是BizSpark订阅的限制还是我可以改变位置?

  • 当我在后台模式下使用定位服务最小化我的应用程序时,我想在iOS设备上以蓝色隐藏状态栏上显示的消息。

  • 我有一个部署在Azure应用服务上的NodeJS应用程序。用38 MB的文件做一个帖子,我得到一个404错误,但是在引擎盖下有一个IIS问题 要设置“maxAllowedContentLength”,我必须编辑“web”。配置文件。 这是不好的,因为如果我在Azure Portal应用程序设置上做一些更改,那么我的本地版本的web应用程序将无法运行。“配置”与自动生成的文件冲突。 是否可以以其他方