【问题标题】:CLLocationManager singleton iphone exampleCLLocationManager 单例 iphone 示例
【发布时间】:2013-09-24 02:07:04
【问题描述】:

我是 iPhone 开发的新手,我正在创建一个基于位置的应用程序。我搜索了很多与位置相关的内容,并开始知道通过应用程序使用CLLocationManager 的一个对象(单例模式),在我的应用程序中,我必须使用网络服务将用户的位置更新到服务器,

更新

在与 Umer 讨论时,我了解到我可以在 CLLocationManager 的 appdelegate 中使用一个对象并在其中实现委托方法,并在 app 委托中将用户位置更新到服务器,

那么,在 appDelegate 中这样做好吗??

请帮忙。

【问题讨论】:

  • 你确定,没有例子吗?
  • 请再次通过链接清楚地展示如何制作 CLLocationManager 的 sharedInstance。
  • @umersufyan: 是的,我没有找到任何与使用 locationmanger 的单例相关的示例,
  • @iPhoneDev:我展示了那个链接,它展示了如何创建类,但没有展示如何在另一个视图控制器中使用它,\
  • 但是它只是简单的给你提供了类的实现。然后你要使用的类简单的包含文件。创建一个类类型的实例。并使用方法。希望你知道如何实现.

标签: iphone ios cllocationmanager


【解决方案1】:

当用户移动到significant distance 时,您可以调用locationManager StartUpdatingLocation 的委托方法,也可以调用web-service 来更新用户的位置。

两个任务都在后台模式下完成。

更新答案

SOURCE CODE

【讨论】:

  • 但是如何在另一个视图控制器中获取 locationmanager 对象?
  • 我是iphone新手,不太了解,如果有例子很有帮助,
  • 感谢您的回复,但在您提供的源代码中,您只需要在一个视图控制器中运行背景位置,我想要多个视图控制器中的用户位置,这就是为什么我要搜索单例,如果有任何相关示例单调位置会很有帮助。
  • 但它会创建多个 locationmanager 对象 :( ,我不想以这种方式实现,请提供一些相关的教程或示例。谢谢
  • 但是我在源代码中显示的是没有与服务器的交互,所以我很困惑在哪里编写将用户位置上传到服务器的代码。
【解决方案2】:

您的位置服务将在前台和后台运行,但要允许它在后台运行(当应用程序打开并最小化时),您需要在项目“Plist”文件中声明一个特殊的后台模式,如果我'我没有错。

didUpdateToLocation 方法会在每次发生重大移动时为您提供更新,您可以通过各种设置来定义和调整,例如 CLLocationAccuracy(locationManager.desiredAccuracy 和 locationManager.distanceFilter)。

根据您所要求的准确度,电池主消耗更快与否。

我不明白您所说的“网络服务”是什么意思。这些与网络无关,它们是 iOS 的原生功能。

【讨论】:

  • 感谢回复,web service 表示我必须将用户位置更新到服务器
  • 我称之为“服务器更新”。 Web 服务通常是您“消费”的东西。
  • 很抱歉,如果有任何与单音位置相关的示例将非常有帮助。
猜你喜欢
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
  • 2021-06-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多