或者通过本地WiFi网络与Mac应用程序连接的iOS应用程序?
解决方法 注意:这个答案现在已经过时,因为iOS6和OSX 10.7引入了CoreBluetooth(蓝牙LE v4),任何iOS设备都可以与任何其他BLE兼容设备(Mac或PC或外部硬件)进行任何类型的通信.如果由于旧的hw或特定要求(例如所需带宽)而无法支持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之间的简单通信应用程序;并不总是有效,但它是一个很好的开始点)
总结以上是内存溢出为你收集整理的Mac应用和iOS应用之间的蓝牙/ WiFi全部内容,希望文章能够帮你解决Mac应用和iOS应用之间的蓝牙/ WiFi所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)