Повторно откройте приложение iOS для указанного навигационного контроллера из AppDelegate с помощью Swift2

Я работаю над проектом iOS, используя Swift. У меня есть ViewController, встроенный в UINavigationController. У меня есть приложение, связанное с PDF файлами в plist. Пользователь может открыть PDF отправленное ему по электронной почте в проекте. Я знаю, что это касается:

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {

    if url != "" {

        // Load from Mail App

        incomingFileTransfer = url

        incomingStatus = "Incoming"

        /*let rootViewController = self.window!.rootViewController
        let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
        let setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainMenu") as! MainMenuViewController
        rootViewController?.navigationController?.popToViewController(setViewController, animated: false)*/

    } else {

        // Regular Load

        print("App Delegate: No incoming file")

        incomingFileTransfer = nil

    }  

    return true
} 

Если пользователь находится в другой области приложения и снова открывает приложение из PDF, приложение открывается обратно в ту область, где он был. Я хочу, чтобы он всегда открывался для первого загруженного ViewController. Я посмотрел здесь и попытался реализовать это в моем разделе выше. в AppDelegate не повезло. Может кто-нибудь помочь с этим, особенно в Swift? Я не очень хорош в преобразовании Objective-C в Swift.

У моего ViewController Title установлено как MainMenu:

введите здесь описание изображения

Этот ViewController имеет UINavigationController, установленный как Initial View, и имя Main:

введите здесь описание изображения

Storyboard имеет Storyboard ID из Main в пределах UINavigationController Identity Inspector:

введите здесь описание изображения

Обновление:

Извини. url назначается глобальному Variable, который затем загружается в другой ViewController, имеющий WebView.


person ChallengerGuy    schedule 04.02.2016    source источник
comment
безуспешно пытался реализовать это. Система дала вам URL-адрес, и вы ничего с ним не сделали и не удалили какие-либо проталкиваемые контроллеры представления из стека контроллеров навигации. Где вы открыли URL-адрес или заставили начальный контроллер представления вашего навигационного контроллера отображать PDF-файл?   -  person    schedule 04.02.2016
comment
Извини. Пожалуйста, смотрите обновление.   -  person ChallengerGuy    schedule 04.02.2016
comment
stackoverflow.com/questions/8329999 / Этот пост должен делать то, что вы ищете.   -  person NSGangster    schedule 04.02.2016
comment
Что произойдет, если вы раскомментируете код? И делает ли код что-то конкретное с URL-адресом? Как начальный контроллер представления должен знать, какой PDF отображать?   -  person    schedule 04.02.2016
comment
Раскомментирование кода ничего не дает. Я безуспешно пытался с ним.   -  person ChallengerGuy    schedule 04.02.2016
comment
@NSGangster, это сработало отлично!   -  person ChallengerGuy    schedule 04.02.2016


Ответы (1)


Посмотрев здесь, как предложил @NSGangster, я вошел в свой plist и добавил следующее:

введите здесь описание изображения

Теперь мое приложение снова открывается, как будто это было в первый раз.

person ChallengerGuy    schedule 04.02.2016