为啥 CLGeocoder 在调用时会崩溃

Posted

技术标签:

【中文标题】为啥 CLGeocoder 在调用时会崩溃【英文标题】:Why does CLGeocoder crash upon call为什么 CLGeocoder 在调用时会崩溃 【发布时间】:2018-06-25 12:46:50 【问题描述】:

我想在 Mac 上将地址转换为位置以进行路由。

我正在使用

[[CLGeocoder alloc] geocodeAddressString:@"1 Infinite Loop, Cupertino, CA 95014" 
                       completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) 
        if(error)
            NSLog(@"%@", error);
        
        if(placemarks)
            NSLog(@"%@", placemarks);
        
    ];

在运行时,执行崩溃,并在 sn-ps 第一行出现 Bad Excess。 有没有人知道如何克服这个问题?

【问题讨论】:

【参考方案1】:

你需要初始化CLGeocoder

CLGeocoder *geoCoder = [[CLGeocoder alloc] init];
[geoCoder geocodeAddressString:@"1 Infinite Loop, Cupertino, CA 95014"
             completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) 
                 if(error)
                     NSLog(@"%@", error);
                 
                 if(placemarks)
                     NSLog(@"%@", placemarks);
                 
             ];

【讨论】:

以上是关于为啥 CLGeocoder 在调用时会崩溃的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的应用在使用 cloudkit 时会崩溃?

为啥我在退出我的 Activity 时会崩溃?

为啥 DatePicker 在 Date 变为 nil 时会崩溃? [复制]

为啥在使用 OpenGL 核心配置文件时会崩溃?

为啥我的 Flutter 应用在​​ iOS 上启动时会崩溃?

为啥我的 iOS 应用程序在尝试 presentModalViewController 时会崩溃?