从iOS向后台发送位置坐标到服务器

时间:2014-03-04 17:01:48

标签: ios objective-c background core-location uibackgroundtask

我正在开发一个需要将用户位置发送到服务器的应用程序。我必须每秒更新用户位置并从后台发送到服务器。

我能够在后台获取位置坐标,但是我怎样才能在每秒发送一次? 请帮帮我。

我发现这适用于应用 - UBER

1 个答案:

答案 0 :(得分:0)

这取决于您的服务器期望发送的内容。但是这是使用 AFNetworking 2.0

的示例
- (void)sendLocation:(CLLocationCoordinate2D)coordinate
{
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

    NSDictionary *parameters = @{
                                 @"latitude": [NSNumber numberWithDouble:coordinate.latitude],
                                 @"longitude": [NSNumber numberWithDouble:coordinate.longitude]
                                 };

    [manager POST:@"http://example.com/yourendpoint"
       parameters:parameters
          success:^(AFHTTPRequestOperation *operation, id responseObject)
    {
        NSLog(@"JSON: %@", responseObject);
    }
          failure:^(AFHTTPRequestOperation *operation, NSError *error)
    {
        NSLog(@"Error: %@", error);
    }];
}

每秒发送用户位置不是一个好主意。您应该在更改时或以更长的时间间隔发送它。

希望它有所帮助。