Universal Link

숨쉴에서 Deep Link 기능을 구현해야 하는데, 기존 숨쉴때 앱에서는 Universal Link를 활용해서 구현한 것 같아, 나도 이 부분에 대해 공부해보려 한다

기본 개념은 파고들면 한도끝도 없을 것 같아서 우선 구현 순서에 따라서 차분히 공부해보려 한다

iOS 앱에서 Capability 추가

App > Target > Signing and Capability 에서 Associated Domain을 추가한다.

applinks:**{yourdomain}**

위와 같이 추가하면 된다!

Untitled

현재 숨쉴때의 도메인은

soomsil.de

이 도메인을 기반으로 한 링크를 누르면, 숨쉴 앱으로 이동하게 된다

https://soomsil.de → 클릭 시, 숨쉴 앱으로 이동 https://test.soomsil.de → dev 서버의 도메인

iOS 앱에서 Universal link클릭해서 들어온 URL handle 하기

AppDelegate를 사용하는 경우에는 AppDelegate의 openURL을 통해서 앱이 기동되는데, SceneDelegate를 사용할 시에는 AppDelegate의 openURL이 아닌 SceneDelegate의 openURLContexts 함수만 돌아가게 되므로 주의하자!

 // SceneDelegate
 func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
	guard let url = URLContexts.first?.url else { return } 
    // TODO 
 }

TODO 써져 있는 부분에서 navigate를 해주면 된다.