ios-高德、百度后台定位并上传服务器
一、配置高德或百度的后台定位框架和代码(略)。
二、配置app不被系统kill,定时获取地理位置信息,并上传服务器(AppDelegate里面)。
具体代码:
1、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | - ( void )applicationDidEnterBackground:(UIApplication *)application { //控制定时器不被kill UIApplication * app = [UIApplication sharedApplication]; __block UIBackgroundTaskIdentifier bgTask; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid; } }); }]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ dispatch_async(dispatch_get_main_queue(), ^{ if (bgTask != UIBackgroundTaskInvalid) { bgTask = UIBackgroundTaskInvalid ; } }); }); } |
2、
1 2 3 4 | { //全局计时器 NSTimer * timer; } |
1 2 3 4 5 | -( void )turnOnTimer{ //14400.0 秒调用一次 timer = [ NSTimer scheduledTimerWithTimeInterval:14400.0 target: self selector: @selector (pushGPSdata) userInfo: nil repeats: YES ]; [[ NSRunLoop currentRunLoop] addTimer:timer forMode: NSRunLoopCommonModes ]; } |
3、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | -( void )pushGPSdata{ //_dicUrl 全局保存定位信息 NSString * cityName = [ NSString stringWithFormat:@ "%@" ,_dicUrl[@ "cityName" ]]; NSString * latitude = [ NSString stringWithFormat:@ "%@" ,_dicUrl[@ "latitude" ]]; NSString * longitude = [ NSString stringWithFormat:@ "%@" ,_dicUrl[@ "longitude" ]]; if (cityName.length !=0&&latitude.length !=0&&longitude.length !=0) { [ self pushGPS:_dicUrl]; } } -( void )pushGPS:( NSMutableDictionary *)dic{ [com afPostRequestWithUrlString:trail_Url parms:dic finishedBlock:^( id responseObj) { NSDictionary *dic = [ NSJSONSerialization JSONObjectWithData:responseObj options: NSJSONReadingMutableLeaves error: nil ]; NSLog (@ "%@" ,dic[@ "message" ]); NSString * userStatus = [ NSString stringWithFormat:@ "%@" ,dic[@ "success" ]]; if ([userStatus isEqualToString:@ "1" ]) { NSLog (@ "GPS成功" ); } else { NSLog (@ "GPS失败" ); } } failedBlock:^( NSString *errorMsg) { }]; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!
· Tinyfox 简易教程-1:Hello World!