나는 내 응용 프로그램에서 다음과 같은 설정을 가지고 : AppDelegate에서 UIViewController를 인스턴스화하는 방법은 무엇입니까?
3 뷰 컨트롤러 (A, B 및 C)를 보유하고 컨테이너보기가있다. 왼쪽 또는 오른쪽으로 스 와이프하여 A, B 또는 C에서 전환 할 수 있습니다. A 또는 B 모두 자체 컬렉션보기를 포함합니다. A 또는 B 내의 콜렉션 뷰에있는 셀을 탭하면 위의 그림에서 Player라는 PlayerVC가 실행되고 AVPlayer
을 사용하여 비디오가 재생되기 시작합니다.
문제는 : 사용자가 universal link
에 도청 그래서 때
- 이 응용 프로그램은
Universal Links
를 공유 할 수 있습니다, 그것은 응용 프로그램에 직접 소요되는PlayerVC
를 시작하고 비디오 재생을 시작합니다. 문제는 사용자가universal link
을 탭하면PlayerVC
으로 직접 이동 한 경우 다른보기 컨트롤러를 초기화하는 방법입니다. 또는app delegate
에서PlayerVC
으로 이동하는 방법은 무엇입니까? 사용자가PlayerVC
에 직접 촬영 한 경우이- , 그들은이
PlayerVC
응용 프로그램 충돌을 기각하는 경우 :
는 여기에 몇 가지 시나리오입니다.
- , 그들은이
- 앱이 이미 시작되었지만 백그라운드 모드 인 경우 사용자가
view controller B
인 경우 사용자가universal link
을 탭하면view controller B
에서PlayerVC
으로 어떻게 이동합니까?class AppDelegate: UIResponder, UIApplicationDelegate { // Other App Delegate methods..... func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool { // 1) Make sure the passed `user activity` has expected characteristics. guard userActivity.activityType == NSUserActivityTypeBrowsingWeb, let url = userActivity.webpageURL else { return false } // HELP: I need to get to `PlayerVC` from here? return true // If we can't do the above we default to opening the page in safari } }
참고 : 우리의 응용 프로그램은 아이폰 OS (10) 실행
이는 universal link
사용자에 의해 도청 될 때합니다 (HELP
코멘트를주의하십시오) 호출되는 것을 app delegate
에서 위임 방법이다. 우리는 유니버설 링크를 위해 애플의 새로운 API를 사용하고 있습니다 : https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html
어떤 생각? 그것은 응용 프로그램에 직접 소요
이 응용 프로그램은 사용자가 보편적 링크를 탭하면 너무 유니버설 링크를 공유 할 수있는 PlayerVC을 시작하고 재생을 시작합니다 :
안녕하십니까. 의견을 보내 주셔서 감사합니다. 내 문제를 기반으로 컨테이너와 하위 뷰 컨트롤러를 인스턴스화하는 방법을 정확히 지정하려면 어떻게해야합니까? 코드 샘플을 제공 할 수 있습니까? 감사 – JEL