我想在 iPad 后台运行程序时发送 GPS 信息。感谢您的帮助。
1 回答
通过“背景”,我假设您的意思是在后台线程上?如果是这样,请继续阅读...否则,请告诉我,我会尝试更好地解决...
这是我解决这个问题的方法:
1)创建一个实现CLLocationManagerDelegate
并具有CLLocationManager
属性的单例“CoreLocationManager”类。告诉你的locationManager通过调用类似的东西开始更新
[self.locationManager startUpdatingLocation];
注意:您可能不希望这个 locationManager 不断更新其 GPS 位置(因为这会很快耗尽电池电量)。在我找到一个好的位置后我关闭了它,只在需要时更新。
2)创建一个 NSTimer 设置为在您想要更新 GPS 位置时触发。这也是向服务器发送所需信息的好地方。
3)使用诸如AFNetworking之类的库(参见https://github.com/AFNetworking/AFNetworking)在后台创建异步HTTP请求(在我看来更容易),或者在后台推出自己的异步调度队列(更难,但可能更健壮,视情况而定)
如果您不确定singleton
, NSTimer
, 大中央调度 (GCD) 或者CLLocationManager
是什么,那么您需要学习一些东西。这里有一些关于这些的资源:
单身人士:
http://en.wikipedia.org/wiki/Singleton_pattern
http://www.galloway.me.uk/tutorials/singleton-classes/
NSTimer:http: //developer.apple.com/library/ios/#documentation/cocoa/reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer.html
CLLocationManager:
祝你好运!