有一个容器视图,它包含3个视图控制器(A,B和C)。我可以通过向左或向右滑动来切换A,B或C. A或B都包含自己的集合视图。如果我点击A或B内的集合视图中的任何单元格,则会启动PlayerVC(在上面的图片中命名为Player ^^)并使用AVPlayer
开始播放视频。
问题是:
Universal Links
,因此当用户点按universal link
时,会将其直接带到应用,启动PlayerVC
,然后开始播放视频。问题是如果用户点击PlayerVC
时直接转到universal link
,我该如何初始化其他视图控制器?或者如何从PlayerVC
app delegate
以下是一些情景:
PlayerVC
,那么如果他们解雇PlayerVC
应用程序崩溃。 view controller B
,然后当用户点击universal link
时,如何从{{{{}}开始1}}到view controller B
?这是PlayerVC
中的委托方法,当用户点击app delegate
时会调用该方法(请注意universal link
评论):
HELP
注意: 我们的应用程序运行的是iOS 10.我们正在使用Apple的新通用链接:https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
有什么想法吗?
答案 0 :(得分:0)
问题是:
这个应用程序能够共享通用链接,以便当用户点击一个 通用链接,它将它们直接带到应用程序,启动 PlayerVC,并开始播放视频。问题是我该怎么做 如果直接用户,则初始化其他视图控制器 PlayerVC如果点击通用链接?或者如何到达 来自app delegate的PlayerVC?
对于这个问题,您需要首先实例化容器及其子视图控制器,然后才能显示PlayerVC
如果用户被直接带到PlayerVC,那么他们是否会被解雇 应用程序崩溃的PlayerVC。
通过我告诉你的实施,它不应该崩溃。总会有一个容器控制器实例化
如果应用已经启动但是处于后台模式,请说出来 用户在视图控制器B中,然后当用户点击通用时 链接,如何从视图控制器B转到PlayerVC?
您可以在AppDelegate中存储容器控制器的全局变量。通过此操作,您可以访问控制器B.然后您可以调用
container.present(playerVC, animated: true, completion: nil)