2010-04-20 119 views
2

我必须开发连接到外部设备的软件。问题在于连接。没有Apple的特殊芯片,有没有办法连接?将iPhone设备连接到外部设备

任何可能的方式:蓝牙,Wifi或USB。

+0

不要看到下面的投票的原因 – Till 2010-04-20 16:57:29

+0

以前有人问过这样的问题。请参阅http://stackoverflow.com/questions/2083453/what-are-the-protocols-supported-in-iphones-external-accessory-framework,http://stackoverflow.com/questions/1720568/whats-needed-to -use-the-apple-accessory-protocol,和http://stackoverflow.com/questions/1065459/how-can-an-iphone-access-another-non-iphone-device-over-wireless-or-bluetooth – 2010-04-20 17:53:38

回答

2

这太开放了一个问题。是的,唯一的答案是;是的,您可以通过WiFi或蓝牙连接到其他设备(只要它能够处理连接请求)。

如果你想通过WiFi连接,你将需要自己管理(可能通过HTTP请求或类似的硬件)。

如果要通过蓝牙连接到设备,为避免需要使用30针基座连接器,请参阅xcode文档中的外部附件框架(EAAccessory Class Reference)。

+0

谢谢您的回复。是否可以使用不是“为iPod制造并适用于iPhone”的设备? – Meir 2010-04-20 16:05:25

+0

是的我相信对于蓝牙 – h4xxr 2010-04-20 16:27:01

+1

没有,除非另一个设备是另一个iPhone操作系统设备,即使通过蓝牙也必须与“iPod for iPhone兼容”进行通信。 (免提和A2DP不包括在内)。 EAAccessory类和相关文档没有指定任何BT级别的协议,因此您无法知道如何实现BT附件的堆栈,以便它可以与iPhone通话。 – jamone 2010-04-20 17:16:57

0

谢谢大家的答案。 我想出了一个解决方案,请让我知道如果这将工作,如果苹果将接受它:

该解决方案是简单地使用ip(即:101.98.13.27)的设备。该设备将连接到无线网络。我会向该地址发送URL请求,并会从设备收回信息。

0

如果您要尝试使用您建议的IP地址,则无法对其进行硬编码。即使它位于私有的不可路由地址块中,该地址仍然可以在手机连接的wifi子网上使用。如果没有,则不能保证连接将取决于所涉及的网络设备的宽容度。

您是否有配置外部设备的方法?如果是这样,我的首选解决方案是将外部设备和iPhone放在同一个wifi网络上,然后使用mDNS(bonjour或rendezvous同样的东西)让这两个设备在网络上相互发现。

我有类似的情况,如果iPhone刚刚支持蓝牙串行配置文件,那么这种情况很容易解决,但事实并非如此。这基本上是我计划要做的,但外部设备无法支持这种方法。

+0

Thant你的回应。我有两个选择:1.有两个版本的设备,两个不同的IP将被打印在盒子上,或使用你的建议。价格不同。例如,我需要一个芯片解决方案和一个开关,这会让事情变得复杂。 我问过的另一个问题是苹果公司接受了这种解决方案吗? – Meir 2010-04-21 15:38:51

1

只要您使用它们在SDK中提供的方法,Apple不会反对通过WiFi连接。