Trong trường hợp của tôi, tôi đã có người quản lý vị trí dưới một lớp khác nhau và tôi đã gọi lớp này từ bộ điều khiển chính. Điều này không hoạt động và didUpdateLocations không được gọi.
//
// LocationServices.h
//
#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>
@interface LocationServices : NSObject <CLLocationManagerDelegate> {
CLLocationManager *locationManager;
}
@property (nonatomic, retain) CLLocationManager *locationManager;
- (void)startLocationServices;
@end
// LocationServices.m
#import "LocationServices.h"
@implementation LocationServices
@synthesize locationManager, currentLocation;
- (void)startLocationServices {
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.pausesLocationUpdatesAutomatically = NO;
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;
if ([CLLocationManager locationServicesEnabled]) {
[locationManager startUpdatingLocation];
} else {
NSLog(@"Location services is not enabled");
}
}
////////////////////////////////////////////////
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations {
CLLocation* location = [locations lastObject];
NSLog(@"Updated: latitude %+.6f, longitude %+.6f\n",
location.coordinate.latitude,
location.coordinate.longitude);
}
@end
// Main controller
- (void)viewDidLoad {
[super viewDidLoad];
.....
LocationServices *locationSerices = [[LocationServices alloc]init];
[locationSerices startLocationServices];
......
}
Mã trên không hoạt động. Tại sao? Tôi không biết .... bạn có thể dễ dàng mất hứng thú khi bạn dành quá nhiều thời gian để cố gắng làm một thứ được cho là đơn giản. iOS là môi trường lập trình rất phức tạp và không thân thiện. Có nhiều cách để làm một việc, chỉ có một tác phẩm, bạn không thể trộn lẫn và kết hợp mà không đưa ra một vấn đề. Bạn phải làm tất cả mọi thứ bởi cuốn sách hoặc bạn hoặc bạn không nhận được gì. Thậm chí không một gợi ý rằng bạn đã làm gì đó sai ... bực bội ...
Thay vào đó khi tôi thực hiện locationManager: (CLLocationManager *) didUpdateLocations quản lý: trong bộ điều khiển tất cả mọi thứ chính làm việc tốt
Nguồn
2013-01-21 01:23:18
Cảm ơn lời khuyên của bạn.Bây giờ tôi đang sử dụng locationManager: didUpdateLocations: nhưng nó không bao giờ được gọi. Mũi tên vị trí không xuất hiện ... Trong iOS6, tôi không thể thấy ứng dụng tôi đang phát triển trong cài đặt -> bảo mật -> vị trí. Ngoài ra, bây giờ đôi khi tôi nhận được đăng nhập này: purgeIdleCellConnections: tìm thấy một để thanh lọc conn = 0x1d5d2250. Đôi khi không. Bất kỳ đầu mối? Cảm ơn trước! – Samui
Điều này có thể trả lời câu hỏi của bạn: http://stackoverflow.com/questions/12519733/location-services-not-working-in-ios-6 –
Tôi đã có cả hai mã nhận dạng nhưng vấn đề vẫn còn: ( – Samui