Я не могу получить самый верхний UIViewController без доступа к UINavigationController. Вот что у меня так далеко:
UIApplication.sharedApplication().keyWindow?.rootViewController?.presentViewController(vc, animated: true, completion: nil)
  Тем не менее, он, похоже, ничего не делает. keyWindow rootViewController keyWindow и rootViewController нулю, поэтому необязательное сцепление не должно быть проблемой.
ПРИМЕЧАНИЕ. Плохо делать что-то подобное. Это нарушает схему MVC.