Ios 如何从AppDelegate实例化UIViewController?

Ios 如何从AppDelegate实例化UIViewController?,ios,swift,xcode,uiviewcontroller,ios-universal-links,Ios,Swift,Xcode,Uiviewcontroller,Ios Universal Links,我的应用程序中有以下设置: 有一个容器视图,其中包含3个视图控制器(a、B和C)。我可以通过向左或向右滑动从A、B或C切换。A或B都包含自己的集合视图。如果我点击A或B内集合视图中的任何单元格,PlayerVC(上图中的命名播放器^^)将启动,并开始使用AVPlayer播放视频 问题是: 此应用程序能够共享通用链接,因此当用户点击通用链接,它会将用户直接带到应用程序,启动PlayerVC,并开始播放视频。问题是,如果用户点击通用链接,直接进入PlayerVC,如何初始化其他视图控制器?或者如

我的应用程序中有以下设置:

有一个容器视图,其中包含3个视图控制器(a、B和C)。我可以通过向左或向右滑动从A、B或C切换。A或B都包含自己的集合视图。如果我点击A或B内集合视图中的任何单元格,PlayerVC(上图中的命名播放器^^)将启动,并开始使用
AVPlayer
播放视频

问题是:

  • 此应用程序能够共享
    通用链接
    ,因此当用户点击
    通用链接
    ,它会将用户直接带到应用程序,启动
    PlayerVC
    ,并开始播放视频。问题是,如果用户点击
    通用链接,直接进入
    PlayerVC
    ,如何初始化其他视图控制器?或者如何从
    app delegate
    访问
    PlayerVC
以下是一些场景:

  • 如果用户直接被带到
    PlayerVC
    ,那么如果他们关闭
    PlayerVC
    ,应用程序就会崩溃
  • 如果应用程序已经启动但处于后台模式,假设用户处于
    查看控制器B
    ,那么当用户点击
    通用链接时,如何从
    查看控制器B
    转到
    PlayerVC
这是
app delegate
中的委托方法,当用户点击
通用链接
时会调用该委托方法(请注意
帮助
注释):

注: 我们的应用程序运行的是iOS 10。我们正在使用苹果的新api进行通用链接:

有什么想法吗

问题是:

该应用程序能够共享通用链接,因此当用户点击 通用链接,它直接将他们带到应用程序,启动 播放ERVC,并开始播放视频。问题是我该怎么做 如果用户被直接带到,则初始化其他视图控制器 PlayerVC是否点击通用链接?或者怎么去 从应用程序代理播放ERVC

对于这个问题,您需要首先实例化容器及其子视图控制器,然后才能显示PlayerVC

如果用户直接被带到PlayerVC,那么如果他们拒绝 PlayerVC应用程序崩溃

使用我告诉过你的实现,它不应该崩溃。总有一个容器控制器被实例化

如果应用程序已经启动,但处于后台模式,那么假设 用户在视图控制器B中,然后当用户点击通用 link,如何从视图控制器B转到PlayerVC

您可以在AppDelegate中存储容器控制器的全局变量。使用此功能,您可以访问控制器B。然后您可以调用

container.present(playerVC, animated: true, completion: nil)

嘿,谢谢你的评论。我将如何根据我的问题实例化容器及其子视图控制器?你能提供一个代码示例吗?谢谢
container.present(playerVC, animated: true, completion: nil)