Closed 。这个问题需要多问focused 。目前不接受答案。
如何制作一个与 iOS 应用程序连接并发送消息的蓝牙 Mac 应用程序?
或者通过本地 WiFi 网络与 Mac 应用程序连接的 iOS 应用程序?
注意:随着 CoreBluetooth(蓝牙 LE v4)的引入,这个答案现在已经过时了,因为 iOS6 和 OSX 10.7 任何 iOS 设备都可以与任何其他 BLE 兼容设备(Mac、PC 或外部硬件)进行任何类型的通信。
如果由于旧硬件或特定要求(例如所需带宽)而无法支持 BLE,下面的答案仍然有效
据我所知,这几乎是不可能的。 GameKit 框架很好地支持 iOS 设备之间的蓝牙连接,但不支持与其他操作系统(包括 OSX)的连接。我所见过的 Mac 和 iPhone 之间的唯一连接是通过热点功能(当它工作时)。
以 Keynote Remote 应用程序为例。此应用程序允许您使用 iPhone 作为遥控器来控制 Keynote 演示文稿。当两个设备在 WiFi 上进行 Keynote 配对时,它允许进行此控制,但使用蓝牙时不允许此连接,而使用蓝牙,您可以控制两个 iOS 设备之间的 Keynote 演示。你可以在 Apple 技术说明 2152 中找到这样的声明:
An important consequence of the first point is that Bluetooth peer-to-peer networking can only be used to communicate between iOS devices; you can't use it, for example, to communicate between an iOS device and a computer running Mac OS X.
至于 WiFi 问题(我忘了在第一个问题中回答它),本质上你需要解决一些问题:可发现性和数据传输。为了确定两个设备是否在同一网络中,可以使用 Bonjour 协议。本质上,其中一台机器将自己发布为特定服务的服务提供者(您可以创建自己的服务:例如“_mytype._myprotocol”),并且潜在的客户端将搜索服务器。此外,Bonjour 还负责处理其他事务,例如寻址和 DNS,而无需这两个应用程序知道它们所在的本地网络的详细信息。Apple 文档对此进行了解释:http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NetServices/Articles/about.html 请注意,Bonjour 是 AirPlay (Apple TV)、AirPrint 以及可能还有 AirDrop 等功能的基础,但许多设备都支持它,例如:一些 NAS。在 Apple 开发人员网站的 SampleCodes 部分中,您会发现一个很好的示例,名为“BonjourWeb”,它展示了服务发现的工作原理。您可以轻松地在 iPhone 模拟器或设备中尝试它,如果您有一些支持 Bonjour 的设备,您将在列表中看到它。
当然,第二个问题是两个设备之间的实际数据通信,由您定义自定义客户端/服务器或使用基于标准 Web 服务器的方法。这取决于应用程序和数据流。第一种方法更好,因为它是高度定制的,您必须研究 NetworkStreams 概念并查看苹果库中的 SimpleNetworkStreams 代码(这是 Mac 和 iPhone 之间的简单通信应用程序;并不总是有效,但它是一个很好的开始观点)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)