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