Возврат к родному iOS приложению от FlutterViewController - PullRequest
1 голос
/ 17 марта 2020

Я добавил модуль флаттера в свое существующее приложение iOS. В настоящее время для тестирования я показываю FlutterViewController с заранее созданным FlutterEngine в AppDelegate. Хотя экран трепетания отображается правильно, я не могу вернуться к нативному приложению iOS.

Небольшой поиск в Google показал, что SystemNavigator.pop() сделает работу, но она не работает для меня, как упоминалось здесь и здесь . Как я go могу вернуться к своему родному iOS приложению?

Мой быстрый код, показывающий, как экран флаттера выглядит так

@objc func showFlutter() {
      let flutterEngine = (UIApplication.shared.delegate as! AppDelegate).flutterEngine
      let flutterViewController =
          FlutterViewController(engine: flutterEngine, nibName: nil, bundle: nil)
        flutterViewController.modalPresentationStyle = .fullScreen
      present(flutterViewController, animated: true, completion: nil)
    }

Мой боковой код флаттера, чтобы вернуться к родное приложение iOS выглядит так, как будто оно не работает.

appBar: AppBar(
        leading: new IconButton(
          icon: new Icon(Icons.arrow_back, color: Colors.white),
          onPressed: () => SystemNavigator.pop(),
        ),
        // Here we take the value from the MyHomePage object that was created by
        // the App.build method, and use it to set our appbar title.
        title: Text(widget.title),
      ),

Если я заменим SystemNavigator.pop() на Navigator.of(context).pop(), оно тоже не будет работать, а покажет черный экран , который имеет смысл, поскольку у него нет запасного маршрута. Насколько я понимаю, это не выскакивает экран, а закрывает целое приложение. Не так ли? Как я могу решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...