2

場所を取得して、オンラインの場所と比較しようとしています。すべてバックグラウンドで発生します。作成したメソッドは、バックグラウンドの場所サービスを使用して正常に動作していますが、1 分ほどすると、ステータス バーの場所アイコンが消え、メソッドがはもう呼び出されていません

ここにコードがあります

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation {


    double  lat = newLocation.coordinate.latitude;
    double  lon = newLocation.coordinate.longitude;
    NSURL * locationURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://somedomainname.com/iphoneLocation?lat=%f&lon=%f",lat,lon]];
    NSData * responseData = [NSData dataWithContentsOfURL:locationURL];
    NSString* aStr;
    aStr = [[NSString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];



    if ([aStr isEqualToString:@"out Of Any Knowen Range"] ){
            UILocalNotification *notify =[[UILocalNotification alloc] init];
            notify.alertAction = [[NSString alloc] initWithString: @"View"];
            notify.fireDate=nil;
            notify.alertBody = [NSString stringWithFormat:@"New Data Occured"];
            notify.soundName = UILocalNotificationDefaultSoundName;
            NSLog(@"Local notification should display");
            [[UIApplication sharedApplication] presentLocalNotificationNow:notify];
        }

}

そしてviewDid loadで私はこのようなものを使用しています

locationManager = [[CLLocationManager alloc] init];

    locationManager.desiredAccuracy = kCLLocationAccuracyBest;

    locationManager.delegate = self;

    [locationManager startUpdatingLocation];

    CLLocation *userLocation = [locationManager location];

それで、それの何が悪いのですか

4

2 に答える 2

1

値を持つアイテムを含むキーを追加して、 AppName-Info.plistファイルを変更する必要があります。オンラインで接続するときに行うべきもう1つのことは、それほど速くは起こらない可能性があるため、オンラインで接続し、場所を投稿して応答を待つ操作は、別のスレッドで開始する必要があります。新しい場所の投稿をスキップする前のリクエストはまだ終了していません...Required background modesApp registers for location updatesCLLocationManager

于 2012-06-24T10:45:52.173 に答える
0

Location Manager がどこかでリリースされたので、それ以上更新を送信しないのではないかと思います。

View Controllerでロケーションマネージャーを保持プロパティに設定しようとしましたか?

@property (nonatomic, strong) CLLocationManager *locationManager
于 2012-06-24T18:04:59.520 に答える