【发布时间】:2011-01-29 11:22:58
【问题描述】:
我想知道 bonjour 是公共 API 还是私有 API?我们可以直接在我们的应用中使用它吗?
【问题讨论】:
-
如何与iOS项目集成?
我想知道 bonjour 是公共 API 还是私有 API?我们可以直接在我们的应用中使用它吗?
【问题讨论】:
是的,Bonjour 是公开的。 App Store 上有很多应用都在使用它。
【讨论】:
Apple 甚至有一个名为 BonjourWeb 的示例项目,向您展示如何在 iPhone 上使用 Bonjour。
【讨论】:
Bonjour API 似乎是开放的,但它确实属于 Apple,您需要确保您获得了正确的许可。如果您希望使用 Bonjour 徽标,例如在 Windows 上开发支持 Bonjour 的应用程序,您可能需要许可证。
有关详细信息,请参阅: http://developer.apple.com/softwarelicensing/agreements/bonjour.html
【讨论】:
Bonjour 由 NSNetServices 和 CFNetServices API 处理,您可以阅读更多关于 here 的信息。这些是 Cocoa 和 Core Foundation 接口,可公开用于 Mac 和 iPhone 应用程序。正如已经指出的那样,许多应用程序利用它来进行 iPhone - iPhone 网络(例如,Game Kit 位于 Bonjour 之上)或 Mac - iPhone 数据同步(例如 Marcus Zarra 的 ZSync 库)。
Bill Dudney 为 iPhone 创建了一个精简的 Bonjour 服务器类,他将其描述为 here。我创建了一个匹配的 Mac 应用程序,它与他的测试应用程序通信,可以从here 下载。 Apple 的WiTap 示例代码演示了如何使用 Bonjour 将两部 iPhone 联网。
我在我教的 iPhone 开发课程的一部分专门用于 Bonjour 网络,可以下载 VoodooPad 格式的课程笔记here(请转到网络课程了解此内容)。
【讨论】:
是的! Bonjour 是公共 API。
是的,您可以将其用于您的应用程序。对于发布服务,您需要使用 NSNetService,对于浏览,您需要使用 NSNetServiceBrowser Delegates。您可以使用 NSStream 发送数据。确保为了与 bonjour 设备通信。设备必须在同一个 Wi-Fi 路由器中
【讨论】: