Я использую стороннюю библиотеку AsyncUDPSocket в своем приложении для iPhone, и по большей части она отлично работает. У меня есть одноэлементный экземпляр AsyncUDPSocket
, который я использую для всего своего сетевого трафика. Мое приложение зарегистрировано для отслеживания местоположения в фоновом режиме и будет просыпаться и отправлять пакеты обновления местоположения по сети при работе в фоновом режиме. Все это отлично работает в фоновом режиме, на переднем плане, если телефон заблокирован или разблокирован, за исключением случаев, когда я делаю следующее:
SIGPIPE
/ EPIPE
, и приложение вылетает. Я решил, что лучший способ справиться с этим - закрыть и освободить сокет. всякий раз, когда приложение закрывается и фоновое отслеживание не включено, но когда я пытаюсь [закрытие сокета]
или [выпуск сокета]
в AsyncUDPSocket
, я получаю различные EXC_BAD_ACCESS
ошибок. Я сообщил об ошибке команде разработчиков, но мне было интересно, может ли кто-нибудь из присутствующих дать какие-то идеи о том, как полностью избежать ошибки SIGPIPE
или другими способами сохранить сокет в рабочем состоянии без его освобождения. Спасибо.