У меня есть несколько приложений для iOS, которые используют один и тот же порт для прослушивания сетевого маяка. На основном представлении я использую viewWillDisappear, чтобы закрыть порт, когда открывается другой вид, который отлично работает. Затем я заметил, что если бы я нажал кнопку «домой» с главного контроллера представления, не открывая другой вид, чтобы закрыть порт, тогда порт остается открытым, а другие мои приложения не могут прослушивать этот порт. Затем я попытался использовать viewWillUnload, но это, похоже, не вызвано, когда я нажимаю кнопку «домой».Обнаружение при нажатии кнопки дома iOS
-(void)viewWillUnload
{
//[super viewWillUnload];
NSLog(@"View will unload");
[udpSocket close];
udpSocket = nil;
}
View will unload никогда не отображается в консоли, что заставляет меня полагать, что метод никогда не будет вызван.
Есть ли способ обнаружить, когда нажата кнопка дома, чтобы закрыть порт?
Попробуйте использовать метод «applicationWillTerminate» ,:-) –
Метод "applicationWillTerminate" не существует. Однако подклассы могут регистрироваться для UIApplicationWillTerminateNotification, а затем выполнять свою собственную очистку или закрывать. –