Я пишу приложение iOS, которое действует, в частности, как сервер telnet. Естественно, он начинает прослушивать соединения, как только он начнется.
Когда я запускаю приложение в Simulator, Mac OS X (я оказался на 10.7.3) предлагает мне разрешить или запретить моему приложению принимать входящие сетевые подключения. Это стандартное сообщение брандмауэра, которое Mac OS X использует для всех неподписанных сетевых приложений.
Я устал от нажатия "Разрешить" пятьдесят или несколько раз в день, поэтому я ищу способ постоянно добавлять свое приложение в список разрешенных приложений брандмауэра.
Я пробовал следующее.
- Откройте Activity Monitor во время работы моего приложения.
- Выберите мое приложение. Нажмите "Осмотреть".
- Перейдите на вкладку "Открыть файлы и порты". Одна из первых строк - это точный путь к моему приложению. Скопируйте и вставьте этот путь.
- Откройте брандмауэр... Дополнительные настройки.
- Нажмите кнопку + (добавить).
- Перейдите к пути к программе и выберите его, добавив его в список приложений, для которых разрешены входящие подключения.
На последнем этапе есть важное решение. Вы можете добавить либо пакет приложения .app, либо Show Contents в этом пакете, либо добавить исполняемый файл Unix внутри. Я пробовал оба подхода.
Интересно, что брандмауэр на самом деле перестанет предупреждать вас о приложении на некоторое время. Однако после нескольких прогонов мне не ясно, какое событие на самом деле вызывает это изменение, но это происходит через полчаса или около того для меня, в общем случае - брандмауэр снова начинает предупреждать о приложении.
Как настроить брандмауэр навсегда Разрешить мое приложение iOS?
Естественно, я мог обойти эту проблему, отключив брандмауэр Mac OS X. Я также мог бы избежать того, чтобы снова получить осколок в моей ноге, отрубив его. Ни один из этих курсов действий не рекомендует мне.
Что бы вы предложили?