server did not accept client registration 68解决方法

简介:

想在iOS上获取城市名称,采用了一个方法


- (void)startedReverseGeoderWithLatitude:(double)latitude longitude:(double)longitude{

    CLLocationCoordinate2D coordinate2D;

    coordinate2D.longitude = longitude;

    coordinate2D.latitude = latitude;

    MKReverseGeocoder *geoCoder = [[MKReverseGeocoder alloc] initWithCoordinate:coordinate2D];

    geoCoder.delegate = self;

    [geoCoder start];

}

#pragma mark -

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark

{

    NSString *subthroung=placemark.subThoroughfare;

    NSString *local=placemark.locality;

    NSLog(@"城市名:%@-%@-%@",placemark.locality,local,subthroung);

    if (local) {

       [cityLabel setText:local];

    }

}

- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFailWithError:(NSError *)error

{

}

 

原文参考:http://blog.csdn.net/diyagoanyhacker/article/details/6412557

上面的文章只给了一个实现类,对于新手来说,比较困难。

我在补充下,

增加框架,coreLocation.framework,MapKit.framework框架。

在实现文件中包括

#import <CoreLocation/CoreLocation.h>
#import <Mapkit/Mapkit.h>

同时增加委托

CLLocationManagerDelegate,MKReverseGeocoderDelegate>

直接编译运行,出现

server did not accept client registration 68

经过google,终于找到这是个bug。原文 http://forums.bignerdranch.com/viewtopic.php?f=79&t=2069


解决方法在,实现文件的的#import 和 @implementation 之间增加如下代码(hach crash)

@implementation CLLocationManager (TemporaryHack)

- (void)hackLocationFix
{
    CLLocation *location = [[CLLocation alloc] initWithLatitude:42 longitude:-50];
    [[self delegate] locationManager:self didUpdateToLocation:location fromLocation:nil];     
}

- (void)startUpdatingLocation
{
    [self performSelector:@selector(hackLocationFix) withObject:nil afterDelay:0.1];
}

经过重重磨难,终于跑起来了,也获得了经纬度,不过悲剧的是reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark ,方法没有执行。难道是模拟器的是?回家放到设备上看看去~



目录
相关文章
|
4月前
|
关系型数据库 MySQL 数据库
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Client does not support authentication protocol requested by server; consider upgrading MySQL client
|
6月前
|
SQL JavaScript 关系型数据库
Client does not support authentication protocol requested by server
Client does not support authentication protocol requested by server
46 0
|
8月前
|
关系型数据库 MySQL 数据库
MySql错误 1251 - Client does not support authentication protocol requested by server
MySql错误 1251 - Client does not support authentication protocol requested by server
69 0
|
IDE 开发工具 Android开发
Gradle升级,Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure
Gradle升级,Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure
3670 0
Gradle升级,Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure
|
关系型数据库 MySQL
【已解决】Client does not support authentication protocol requested by server; consider upgrading MySQL client
Client does not support authentication protocol requested by server; consider upgrading MySQL client
410 0
|
关系型数据库 MySQL 数据安全/隐私保护
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
503 0
Client does not support authentication protocol requested by server 解决Navicat连接不上MySql服务器报错
|
NoSQL 关系型数据库 Shell