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