gpt4 book ai didi

iphone - CLLocationManager:没有网络,存储坐标并在网络可用时重新发送?

转载 作者:行者123 更新时间:2023-11-29 04:56:19 25 4
gpt4 key购买 nike

我有一个非常简单的 CLLocationManager 实现。它收集用户坐标,当数据具有适当的距离和准确性时,它会将其发送到我的服务器。但是,有时没有网络连接。在这些情况下,我需要在本地存储数据并在连接返回时重新发布到我的服务器。我该怎么办,

A:本地存储和检索数据?

B:当连接恢复时指示 CLLocationManager 重新发送?

Wrinkle:我正在移动目标上连续收集数据,因此我可能需要将多个或多个坐标存储在数组中,直到网络连接恢复。进一步的问题:我对 iOS 开发非常陌生:)

我认为我的代码的相关部分:

    NetworkStatus internetStatus = [[Reachability reachabilityForInternetConnection] currentReachabilityStatus];

if( internetStatus != NotReachable ) {
NSData* data = [NSURLConnection sendSynchronousRequest:post returningResponse:response error:error];

if( data == nil ) {
NSLog( @"Doh!" );
}
else {
NSLog(@"Data sent! %@", data);
}
}
else {
NSLog(@"No connection");
}

魔法需要在最后的其他部分发生

有人接盘吗?谢谢!

最佳答案

GPS 无需网络即可工作,因此您可以存储收到的每个位置更新。最好的方法是在 SQLite 数据库中,其中包含 id、纬度( double )、经度和时间戳。您可能需要某种方法来区分 session ,以便可以将每个 session 存储为路径。您可能需要一个标志来表示“已将此位置发送到服务器”。

您可以使用数组,但必须保存它。您可以通过从数组写入 plist 来完成此操作。 SQLite 方法更加健壮。

此方法在带有 GPS 芯片的设备(iPhone、某些 iPad)上效果最佳。它通常在 Touches 或 WiFi iPad 上无法正常工作(它们不需要连接,但确实需要 WiFi 路由器才能工作)。

关于iphone - CLLocationManager:没有网络,存储坐标并在网络可用时重新发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7897217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com