Я написал приложение для Mac, которое выполнено в виде элемента строки состояния. Однако, когда пользователь открывает свое меню из строки состояния, основной цикл выполнения блокируется до тех пор, пока он не будет закрыт. Поскольку это приложение отвечает на сообщения в сокете, проблема в том, что оно ничего не может сделать, пока меню открыто.
Я попытался установить элемент состояния из отдельного потока и запланировать сокет в другом потоке, но не в кости. Есть ли хороший способ справиться с этим?
ОБНОВЛЕНИЕ:
Я решил это сейчас. Я использовал оболочку сокета NetSocket, и ее асинхронный характер очень усложнял открыть и посмотреть в другой теме. Я переключился на SmallSockets (другая оболочка сокета Objective-C), и поскольку он синхронный, я смог открыть socket и просто смотрите его прямо в отдельном потоке.