2011-09-02 10 views
12

私は、MacやPCプログラムとUSB接続で通信できるiPhone/iPadアプリを書くつもりです。誰も私がこれをやり遂げる方法を知っていますか? (私は私のiPadを脱獄しなければならないかもしれないことに気付く)iPadとMacまたはPCとの間のUSB通信

+1

これはまったく可能な場合は間違いなく脱獄する必要があります。通常のSDKではこれを行うことはできません。 –

+0

シリアルポート(UARTまたは/dev/tty.iap)を使用してみてください。私はあなたが追加のハードウェアなしでそれを行うことができるかどうかはわかりませんが、ここにいくつかのリンクがあります:http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial http://hcgilje.wordpress.com/2010/02/15/iphone-serial-communication/ – adig

答えて

-1

それはUSB接続でなければならない?

そうでない場合、Robbie HansonのGCDAsyncSocketはあらゆる種類のAppleデバイスを接続するのに最適です。私は昨年、Mac miniで動作する1つのアプリに複数のiPadsを接続するために使用しました。

5

USB(USBMux)経由のソケット通信が必要になる場合があります。 iPadまたはiPhoneをMacに接続すると、デバイスの説明/ var/run/usbmuxdが表示されます。ソケットを作成して/ var/run/usbmuxdに接続し、パッケージ化されたデータをiOSデバイスとの間で送受信することができます。データはラップする必要があります。

ここは、theiphonewiki http://theiphonewiki.com/wiki/index.php?title=Usbmuxからの簡単なリファレンスです。私が提供できるのは、usbmuxdに接続するためのサンプルコードです。

struct sockaddr_un endpoint; 
size_t size; 

_usbMuxSocket = socket(PF_LOCAL, SOCK_STREAM, 0); 

endpoint.sun_family = AF_LOCAL; 
strncpy(endpoint.sun_path, "/var/run/usbmuxd", 17); 
size = (offsetof (struct sockaddr_un, sun_path) 
     + strlen (endpoint.sun_path) + 1); 

connect(_usbMuxSocket, (struct sockaddr *) &endpoint, size); 

その後、あなたのアプリケーションがiPadで受信するポートに「接続」する必要があります。上のwikiページのリストで説明した「接続」プロセスを参照してください。準備作業が完了したら、ソケットを使用してデータの送受信を行うことができます。

+0

あなたは単に「open」と呼んでその結果のfdを使うことはできないのですか? – Dustin

関連する問題