2017-09-28 1 views
1

결제 후 내 앱으로 리디렉션하기위한 URL 스키마를 구현했습니다. 웹 페이지가 내 앱으로 돌아 가면 앱에서 이상의 탐색 컨트롤러 을 열어야합니다. (그래서 모달을여십시오).앱 위임자로부터 내비게이션 컨트롤러 열기

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool -method의 AppDelete에서이를 수행하는 방법은 무엇입니까?

미리 감사드립니다.

+0

[프록시를 사용하여 응용 프로그램 대리인으로부터보기 컨트롤러 열기] (https://stackoverflow.com/questions/30592521/opening-view-controller-from-app-delegate-using-swift) – the4kman

+0

@ the4kman 안녕하세요, 다른 점은 내가 현재의 관점에서 열어보고 싶다는 것입니다. –

+0

타겟팅 할 버전이 무엇입니까? iOS 9보다 높습니까? –

답변

1

요청을 제출 한 뷰 컨트롤러를 표시해야 하나 인 경우 모달, 나는 다른 접근 방식을 제안합니다. 현재보기 컨트롤러에 알리기 위해 사용하는 알림 센터에서 알림을 정의하는 것이 좋습니다.

보기 컨트롤러에서 알림 센터 방법 중 하나 (예 : addObserver(forName:object:queue:using:))로 전화하여 알림을 확인하십시오.

그런 다음 예상 URL을 얻을 때 application(_:open:options:)의 앱 대표 구현에서 post(name:object:)과 같은 Notification 메서드를 호출하십시오.

2

스토리 보드를 사용하고 있습니까 아니면 위임자에서 수동으로 창을 만들었습니까? 당신이 윈도우에 액세스 할 수있는 경우, 당신은이 작업을 수행 할 수 있습니다

window?.rootViewController?.present(yourViewController, animated: true, completion: nil) 

그렇지 않으면, 그것은 모든 경우에 작동합니다 :

UIApplication.shared.keyWindow?.rootViewController?.present(yourViewController, animated: true, completion: nil) 
+0

안녕하세요! 스토리 보드를 사용하고 있습니다. 이것이 모달 전환으로 가능합니까? –

+0

모달 전환입니다. 당신은'yourViewController를 사용하여 그것을 사용자 정의 할 수있다. modalTransitionStyle' 또는'yourViewController를 커스터마이징한다. 모달 프레 젠 테이션 스타일 ' –

관련 문제