iOS Multipeer 连接是不是适用于非智能手机设备?
Posted
技术标签:
【中文标题】iOS Multipeer 连接是不是适用于非智能手机设备?【英文标题】:Does iOS Multipeer connectivity work with non-smartphone devices?iOS Multipeer 连接是否适用于非智能手机设备? 【发布时间】:2014-12-05 21:40:37 【问题描述】:我们在现场的人员使用具有 wifi 和蓝牙连接功能的设备。我们的一位用户一直在使用非 iPhone(我猜是 android)通过蓝牙在他的手机和设备之间传输文件。但是,在将我们的用户切换到 iPhone 以使用其他企业应用程序时,我们发现你们中的一些人已经知道:ios 的蓝牙连接受到严重限制(即没有 SPP 协议)。
设备也通过wifi进行通信,所以我想知道是否可以使用iOS Multipeer连接创建一个应用程序来解决蓝牙问题。不过,我对此的所有发现除了电话到电话的多点连接,而不是电话到机器的多点连接之外,什么都没有显示。
此时我对现场设备的工作原理一无所知;如果我们决定追求这一点,那是我必须学习的东西。但是假设它能够发现wifi网络,那么它是否能够在不需要任何特殊软件的情况下看到iPhone的网络?
或者我会浪费我的时间来解决这个问题?
谢谢!
【问题讨论】:
【参考方案1】:如果设备使用蓝牙 SPP,那么除非它通过 MFi 认证,否则您几乎可以忘记从 iOS 连接到它。多人连接不会这样做,这是肯定的。
WiFi 可能是一种可能 - 您需要在同一个 WiFi 网络上获取 iPhone 和设备 - 但是您不能通过应用程序执行此操作 - 您需要使用 iOS 中的 WiFi 设置 - 您需要详细了解设备,看看是否可行。
【讨论】:
【参考方案2】:简短的回答:不。仅限 iOS 7.0+ 或 MacOS Yosemite+
MultipeerConnectivity 是一个适用于 iOS 和 Mac OS 的框架。要使用它发送数据,您需要两台设备都具有具有 MultipeerConnectivity 的 iOS 或 MacOS。您没有任何与网络相关的参数,例如“我更喜欢使用蓝牙或 wi-fi”,它的设计目的是“开箱即用,目标简单 - 使用 MultipeerConnectivity 发现和连接其他设备。 这意味着您无法将数据从带有 MC 的 iPhone 发送到 Android 或 Symbian 或带有 iOS
在iOS7之前你可以使用GameKit,但逻辑是一样的:双方都需要使用GameKit。
如果您的自定义设备没有 iOS - 您需要使用较低级别的 API,并且您的选项包括通用 Bonjour(iOS 设备上的 NSNetService 和自定义设备上与 Bonjour 兼容的东西)或 CoreBluetooth(显然只有蓝牙,没有wi-fi peer-to-peer)在最低级别,使用套接字等。
【讨论】:
我意识到我对我最初的信息不是很清楚,但部分原因是我不完全了解我自己需要什么。由于蓝牙连接已断开,是否可以使用点对点 wifi 连接来完成相同的操作?我所说的设备不是另一部电话,但它确实具有 wifi 连接。我正在尝试了解是否有一种方法,如果我需要编写一个 iOS 应用程序来做到这一点,能够直接通过 wifi 连接到设备,而无需路由器或网络连接。我希望我说得通。 .....现在我已经用完了我所有的角色。以上是关于iOS Multipeer 连接是不是适用于非智能手机设备?的主要内容,如果未能解决你的问题,请参考以下文章
iOS 7:通过 wi-fi 或对等 wi-fi 使用 Multipeer Connectivity 连接设备
Multipeer Connectivity - 检查所有附近的对等点是不是已连接并尝试重新连接它们
在 Swift 中通过 Multipeer Connectivity 临时同步两个 iOS 设备