개발자 이야기/iOS

Firebase DynamicLink 이용시 UniversalLink가 정상적으로 열리지 않는 경우..

ESC-Corp 2022. 5. 23. 21:53
728x90

iOS에서 DynamicLink를 사용하는 경우 앱이 설치된 경우 UniversalLink가 정상적으로 열리지 않는 경우가 2번 있었다.

 

1번째로는 UIApplicationDelegate 상에 Firebase에서 제공한 문서 작성하는 경우 해당 함수를 읽어 들이지 못하는 버그가 있다.

 

해당 문제의 해결은 아래와 같이 수정하여 해결 하였다.

 

// Firebase 문서상의 함수 

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

}

 

// 실제 적용 함수

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {

}

 

출처 : https://stackoverflow.com/questions/55585712/after-opening-ios-app-continue-useractivity-method-isnt-called-firebase-dy

 

After opening iOS app "continue userActivity:" method isn't called - Firebase dynamic link

I have successfully integrated Firebase dynamic links and when I click on dynamic link then my app is opening. The issues I'm facing is after opening app from dynamic links, continue userActivity:

stackoverflow.com

 

2번째로는 SceneDelegate 상에서의 처리이다.

 

1번의 변경으로도 UniversalLink가 정상적으로 동작하지 않는 경우에는 SceneDelegate내에서 아래와 같이 처리해 주면 된다.

 

func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {

        

        DynamicLinks.dynamicLinks()

          .handleUniversalLink(userActivity.webpageURL!) { dynamiclink, error in

               

               // ... User Code

 

        }        

    }

 

 

그럼 이만..

 

 

728x90