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

IOS 8中的位置管理器不工作[重复]

程磊
2023-03-14

我试着显示用户的当前位置(我主要需要邮政编码),当我启动应用程序时什么也没发生,应用程序只是显示空标签而没有崩溃消息。这是我的代码:

@implementation ViewController {
    CLLocationManager *locationManager;
    CLGeocoder *geocoder;
    CLPlacemark *placemark;
}

@synthesize array, mytableView, latitudeLabel, longitudeLabel, addressLabel;

- (void)viewDidLoad {
    [super viewDidLoad];

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8) {
        [locationManager requestWhenInUseAuthorization];
    }
    [locationManager startUpdatingLocation];
    geocoder = [[CLGeocoder alloc] init];
}

- (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) {
        longitudeLabel.text = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.longitude];
        latitudeLabel.text = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.latitude];
    }

    // Stop Location Manager
    [locationManager stopUpdatingLocation];

    NSLog(@"Resolving the Address");
    [geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {
        NSLog(@"Found placemarks: %@, error: %@", placemarks, error);
        if (error == nil && [placemarks count] > 0) {
            placemark = [placemarks lastObject];
            addressLabel.text = [NSString stringWithFormat:@"%@ %@\n%@ %@\n%@\n%@",
                                 placemark.subThoroughfare, placemark.thoroughfare,
                                 placemark.postalCode, placemark.locality,
                                 placemark.administrativeArea,
                                 placemark.country];
        } else {
            NSLog(@"%@", error.debugDescription);
        }
    } ];

}

- (IBAction)getCurrentLocation:(id)sender {
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    [locationManager startUpdatingLocation];

}

共有1个答案

曹新觉
2023-03-14

在plist文件中添加这些属性。字符串的值可以是您想要的任何值。

编辑以进一步回答评论中Mike的另一个问题:

在您的viewcontroller中。h文件

@interface YourViewController : UIViewController<CLLocationManagerDelegate>
 类似资料:
  • 我正在使用HazelCast的这个示例,其中管理中心在 但是当我访问< code > http://localhost:9090/mancenter 时,我得到< code >加载资源失败:net::ERR _ CONNECTION _ rejected

  • 背景:我们有一些由spring batch管理的作业(作为启动应用程序)由cron job触发,我正在努力用quartz替换cron并添加spring batch admin来管理作业。 到目前为止,我能够通过spring batch管理控制台运行这些作业,当quartz试图启动作业执行时,问题就会发生。JobLauncher、JobLocator对象为空,这是autowired。请注意,我使用基

  • 我有一个应用程序,它在iOS 7下运行良好,但当为iOS 8构建时,放松段无法工作。 我创建了一个新项目,并添加了一个模态(带有tableview控制器的导航控制器),并尝试使用一个展开模态。不幸的是,它也不起作用。正在展开到的方法在解压缩视图控制器中。展开segue是通过故事板(桌面视图控制器中的导航栏按钮)创建的。当我点击按钮时,什么都不会发生。没有日志输出,模态也不会消失。它似乎也只影响模态

  • 我正在使用泽西开发一个API,并希望将其准备好部署到Google App Engine。但是,当我在Postman上测试时,GET函数有效,但POST函数无效。我只收到一条简短的错误消息,即“错误415不支持的媒体类型”,我无法确定哪里出了问题。 请求资源类 请求服务等级 网状物XML 提前感谢所有帮助我指出并解决问题并回答我问题的人。

  • 概览 我们用docker run指令来运行一个容器: 交互容器跑在前端. 守护进程跑在后台. 一些常用管理容器的命令: docker ps - 列出容器. docker logs - 输出容器日志. docker stop - 停止运行容器. Docker客户端非常简单,你只需要需要输入一些带有一系列参数的指令就可以: # Usage: [sudo] docker [command] [flag