сделать приложение для компаса в iPad - PullRequest
2 голосов
/ 16 мая 2011

Я хотел бы сделать приложение для компаса, в котором будут указаны географические направления (север, восток, запад, юг),

Так что я использовал 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];
    }
}

, пожалуйста, помогите мне

Срикумар Калариккал Индия

Ответы [ 2 ]

6 голосов
/ 16 мая 2011

На симуляторе iOS отсутствует заголовок (и ваш код отображает соответствующее предупреждение).

На устройстве этот код работает нормально.

(Протестированокод как на симуляторе, так и на устройстве)

1 голос
/ 16 мая 2011

Хрустальный шар говорит, что в заголовке вашего интерфейса отсутствует протокол: @interface xxxx : xxx <CLLocationManagerDelegate>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...