Заголовочные файлы в симуляторе iOS присутствуют, но отсутствуют на устройстве iOS ...? - PullRequest
3 голосов
/ 16 июля 2011

Я создал простую программу для iOS, которая компилируется без проблем и отлично работает на симуляторе iPad.Невозможно скомпилировать ту же программу, когда я говорю XCode 4 использовать подключенное устройство iPad.Кажется, проблема в том, что несколько файлов заголовков не могут быть найдены, когда я пытаюсь использовать подключенный iPad.

Вот файлы заголовков, которые не могут быть найдены на устройстве iPad (это выдержка из соответствующих операторов включения):

#include <sys/socketvar.h>
#include <netinet/tcp_fsm.h>
#include <netinet/tcp_var.h>

Так, например, сообщения об ошибках, которые я получаю, похожи на

Sys / socketvar.h: Нет такого файла или каталога

Пожалуйста, не отвлекайтесь на имена файлов ... Я делаю некоторые довольно низкоуровневые вещи, связанные с сокетами, в моей программе и не смог использовать API более высокого уровня, предоставленные Apple.

Мой вопрос: что дает?То есть, почему я могу запустить эту программу (используя три заголовочных файла, указанных выше) на симуляторе iPad, а не на реальном iPad?Кроме того, есть ли какое-то другое место, в котором эти файлы заголовков могут быть использованы на физическом устройстве iOS?

1 Ответ

2 голосов
/ 16 июля 2011

Спасибо за отзыв - решение состояло в том, чтобы просто потратить некоторое время на обход зависимостей заголовочных файлов и вручную воссоздать отсутствующие файлы. В конце концов, их было семь (не конец света, чтобы спорить руками), и моя программа компилируется и выполняется без помех на симуляторе iPad и физическом устройстве.

Я бы определенно предпочел лучшее соотношение между файлами заголовков, доступными на физическом устройстве iOS, и симуляторами! Однако, если честно, я могу быть в очень небольшом числе разработчиков, которым действительно нужно работать с такими низкоуровневыми сетевыми API.

...