Я хотел бы сделать приложение для компаса, в котором будут указаны географические направления (север, восток, запад, юг),
Так что я использовал CoreLocation Framework в моем приложении. На многих форумах я обнаружил, что когда эта функция [locationManager startUpdatingHeading];
вызывает ее, она автоматически вызывает функцию: -(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
Но в моем приложении вторая функция не вызывается автоматически, поэтому я не могу сделать свое приложение. Пожалуйста, помогите мне .......
Мой код указан ниже:
-(void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
NSLog(@"New magnetic heading: %f", newHeading.magneticHeading);
NSLog(@"New true heading: %f", newHeading.trueHeading);
NSString *headingstring = [[NSString alloc] initWithFormat:@"%f",newHeading.trueHeading];
trueHeading.text = headingstring;
[headingstring release];
NSString *magneticstring = [[NSString alloc] initWithFormat:@"%f",newHeading.magneticHeading];
magneticHeading.text = magneticstring;
[magneticstring release];
}
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
locationManager=[[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.delegate=self;
//Start the compass updates.
if (CLLocationManager.headingAvailable ) {
[locationManager startUpdatingHeading];
}
else {
NSLog(@"No Heading Available: ");
UIAlertView *noCompassAlert = [[UIAlertView alloc] initWithTitle:@"No Compass!" message:@"This device does not have the ability to measure magnetic fields." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[noCompassAlert show];
[noCompassAlert release];
}
}
, пожалуйста, помогите мне
Срикумар Калариккал
Индия