iOS Device Communcation

Communication between an iOS app and an external devices can be established in a number of ways. Depending on your requirements some are more appropriate than others. All solutions except the HTTP server will require access to the iOS SDK.

Redpark Serial Cable

The Redpark Serial Cable is a good solution for hobbyists looking to build external hardware. It provides an interface the hobbyist is likely to be familiar with, at a decent price. Redpark provides it's own API for interfacing to the cable, but those familiar with the iOS External Accessory Framework can use that instead.

HTTP Server

If your device is used as a simple interface to control your PC, then an HTTP server on the PC can server a web page to the iOS device and handle any requests. This method does not require the iOS SDK, instead it relies on the iOS device's browser to provide the user interface. RPC Music Server has this architecture to control Amarok's music playing, and system volumes.

Internet Protocol

If the device is already connected to a computer or the device is a computer, then communication with IP sockets is a solid method. Socket programming is a skill most programmers possess, and many free resources are available for the uninitiated. This method requires a WiFi network to connect the iOS device to the LAN.

iOS External Accessory Framework

The External Accessory Framework is the preferred method for communication between iOS applications and consumer devices. Each accessory supports some number of custom protocols, so long as the protocol is known to the application it may access the accessory with the iOS SDK. The External Accessories framework provides a list of connected devices and their supported protocols, and allows the app to communicate via a file stream.

MFi program

The MFi program is intended for corporations who wish to manufacture devices for the consumer market. This developer program gives access to documentation and decoder chips. The device will be available via the iOS External Accessory framework for application developers. Gaining access to MFi program requires Apple's approval.

Bluetooth

Communicating with an accessory that supports bluetooth is possible through iOS's Core Bluetooth framework.