Я хотел бы написать приложение для iPhone/iPad, которое может общаться через USB-соединение с программой Mac или ПК (что я также буду писать). Кто-нибудь знает, как я могу это сделать? (Я понимаю, что мне, возможно, придется сделать джейлбрейк на iPad)
USB-связь между iPad и Mac или ПК
Ответ 1
Связь сокетов через 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. Процесс "connect" обсуждается в списке страниц wiki выше в разделе "Последовательность событий". После выполнения подготовительной работы вы можете использовать сокет для отправки и чтения данных.
Ответ 2
Должно ли быть соединение USB?
Если нет, то Robbie Hanson GCDAsyncSocket отлично подходит для подключения всех видов устройств Apple. Я использовал его в прошлом году, чтобы связать кучу iPads с одним приложением, работающим на Mac mini.