Как вы удаляете наблюдателя из объекта под ARC ? Мы просто добавляем наблюдателя и забываем удалить его? Если мы больше не управляем памятью вручную, где мы отказываемся от наблюдения?
Например, на контроллере представления:
[self.view addObserver:self
forKeyPath:@"self.frame"
options:NSKeyValueObservingOptionNew
context:nil];
Ранее я бы вызвал removeObserver:
в методе dealloc
контроллера представления.