Fixes crash when canceling navigation transition

It seems viewDidDisappear can get called even when viewDidAppear never
was. Filed a radar about this, but let's use the viewWill* methods
meanwhile
Merge branch 'develop' into release/3.8.1
Merge branch 'develop' into release/3.8.1
Merge branch 'release/3.8.1' into develop