ios8中修改的 推送和地图

ios8之前 注册通知的方法是

   
    [application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeSound|UIRemoteNotificationTypeBadge];

ios8 注册这样写

    UIUserNotificationSettings *setting = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound categories:nil];
    [application registerUserNotificationSettings:setting];

有关CLLocationManager

    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];

ios8之后添加了    [locationManager requestAlwaysAuthorization];

其他的内容没什么变化 info.plist中 添加两个字段NSLocationWhenInUseUsageDescription和NSLocationAlwaysUsageDescription

 定位以后的回调方法如下

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

在这个方法里可以拿到经纬度 控制定位结束 可以地理反编码 拿到当前的位置信息

 CLGeocoder *geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:newLocation completionHandler:^(NSArray *placemarks, NSError *error) {
        for (CLPlacemark *place in placemarks) {
            
            NSLog(@"name,%@",place.name); // 位置
            [manager stopUpdatingLocation];

        }
    }];
//有关 这个CLPlacemark 可以点进去查看 

/*包括街道信息也可以拿到
@property (nonatomic, readonly, copy) NSDictionary *addressDictionary;

// address dictionary properties
@property (nonatomic, readonly, copy) NSString *name; // eg. Apple Inc.
@property (nonatomic, readonly, copy) NSString *thoroughfare; // street address, eg. 1 Infinite Loop
@property (nonatomic, readonly, copy) NSString *subThoroughfare; // eg. 1
@property (nonatomic, readonly, copy) NSString *locality; // city, eg. Cupertino
@property (nonatomic, readonly, copy) NSString *subLocality; // neighborhood, common name, eg. Mission District
@property (nonatomic, readonly, copy) NSString *administrativeArea; // state, eg. CA
@property (nonatomic, readonly, copy) NSString *subAdministrativeArea; // county, eg. Santa Clara
@property (nonatomic, readonly, copy) NSString *postalCode; // zip code, eg. 95014
@property (nonatomic, readonly, copy) NSString *ISOcountryCode; // eg. US
@property (nonatomic, readonly, copy) NSString *country; // eg. United States
@property (nonatomic, readonly, copy) NSString *inlandWater; // eg. Lake Tahoe
@property (nonatomic, readonly, copy) NSString *ocean; // eg. Pacific Ocean
@property (nonatomic, readonly, copy) NSArray *areasOfInterest; // eg. Golden Gate Park
*/
原文地址:https://www.cnblogs.com/machealking/p/4635541.html