【发布时间】:2012-07-09 15:57:45
【问题描述】:
我在网上阅读了大量关于此的问题,但似乎无法找到可靠的答案。如果我的 iPhone 在蜂窝数据上运行,而另一个 iOS 设备在 wifi 上运行(在两个不同的位置),它们是否可以直接相互发送数据而不先将其发送到 Web 服务器,然后再检索它?是从服务器/Apple 的 iCloud 发送和接收的唯一选项吗?如果我知道设备的 IP 地址怎么办?请注意,iPhone 已禁用 WiFi。
我不打算把它放在应用商店里,它是供个人使用的。我知道NSNotificationCenter 不是一个选择。
【问题讨论】:
-
只需使用 Apple 的 iCloud,连接到 3G/4G 连接的手机不会以典型方式获取其 IP 地址。任何解决方案都会涉及黑客攻击,不会是无缝的,并且性能会很糟糕。
-
只有几种方法可以将数据直接从一台设备发送到另一台设备 - 3G 和 wifi 是常规方法。您需要两台设备使用相同的数据服务 - 如果您无法访问 wifi 网络,知道 IP 地址并不重要。 ECEsurfer 的方法可能是最好的,具体取决于您需要的具体用途。
-
嗯。所以如果他们没有连接到同一个网络,那是不可能的(因为除了 iCloud/Web 服务器之外,蓝牙似乎是唯一的选择)?
-
如果两台设备都是同一个 iCloud 用户,这可能是迄今为止最容易设置的解决方案。您的另一个选择是创建一些处理连接和数据封送处理的可寻址代理(它不必是 Web 服务器,只需可从所有网络寻址)。这实际上是 GameKit 所做的事情,因此您也可以实际使用它(仅用于数据连接方面)。
标签: iphone objective-c icloud nsnotificationcenter