【问题标题】:Geolocation API on Max OS X Snow LeopardMac OS X Snow Leopard 上的地理定位 API
【发布时间】:2010-12-15 20:10:23
【问题描述】:

有没有人在 Mac OS X 10.6 中编写了使用新位置 API 的应用程序? 有一个示例程序在 iPhone OS 上使用了相同的 API,但在 Mac OS X 上的 API 略有不同,Apple 没有提供使用它的示例程序。

编辑: 我知道如何使用它,API文档还可以。对于简单的使用来说似乎过于复杂,但并不难理解。另一方面,我不是 XCode 专家,所以我想知道是否有人使用它制作了任何程序,并且可能有工作示例代码可供使用。

我阅读了 API 并了解它是如何工作的,实际上是从 FPK 轻松使用它,这就是问题所在。我正在为在 FreePascal 中实现访问它的人寻找任何示例代码(即,它应该可以通过使用 ObjectivePascal 来实现,但这不是我的专业领域)。我还考虑过在普通的 X-Code/ObjC 中编写一个包装器,它会生成一个普通的 .SO 文件,我可以链接到它以在 FreePascal 中获得我想要的东西。

我还注意到有一个定位运行,所以也许有一个更普通的类 Unix API 可以用来代替 Cocoa 方法。

【问题讨论】:

  • 您可能需要重新表述您的问题。答案很可能是“是”,但您似乎想知道如何使用它。我建议将问题分解为明确的“我如何使用此 API?”问题。

标签: objective-c macos geolocation core-location freepascal


【解决方案1】:

示例代码: WhereIsMyMac,Snow Leopard CoreLocation 项目。

【讨论】:

  • 我真的很喜欢这个,这正是我在真正开始使用该库之前为我的概念证明要做的事情。接下来我需要弄清楚如何在 FreePascal 中为此构建绑定。
  • 如果我有时间,我可能会用这样的程序编写一个包装器,它接收更新并通过 IPC 将它们发送到我的客户端程序——这对我来说似乎是最简单的方法之一。
【解决方案2】:

对 API 的初步检查表明(据我所知)它的工作原理与 iPhone 平台上的相同,只是在行为上有一些细微差别。我注意到的一件事是由 Dan Wood 提交的OpenRadar bug,他说如果您没有通过 WiFi 连接,您将无法获得位置。此处的快速测试(在有线桌面上)响应错误:

操作无法完成。 (kCLErrorDomain 错误 0。)

这可能是您遇到的问题吗?

我目前无法访问开放的 WiFi 网络以进行进一步测试,但如果有机会我会更新这篇文章。

【讨论】:

  • 不,我对函数的结果没有问题,我无法从 FreePascal 方便地调用函数(Cocoa 框架不是普通的共享库)。跨度>
猜你喜欢
  • 1970-01-01
  • 2010-12-12
  • 2010-11-24
  • 1970-01-01
  • 2012-10-17
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
  • 2011-10-26
相关资源
最近更新 更多