iOS

iOS 가이드 문서는 Swift UIKit 기준으로 작성되었습니다.
사용언어 :
Swift UIObjective-C형태의 가이드는 제공되지 않습니다.
세로모드 고정
게임은 세로모드 해상도에 최적화 되어 세로모드 잠금 기능을 추가해야 합니다.
1단계: 최상위 ContentView 파일 생성
최상위 ContentView 파일 내 NavigationStack 으로 화면 단위 View를 컨트롤 합니다.
홈화면을 HomeContentView 로 선언 하였으며, navigationDestination 메서드를 통해 런처를 실행할 LauncherContentView 로 이동할 케이스를 선언합니다.
Navigation 전환을 위해 NavigationModel 클래스 파일을 선언합니다.
2단계: 런처 WebView 파일 생성
런처 호출 URL을 로드할 WebView 구조체가 필요합니다.
Coordinator클래스 내userContentController에서 script 메세지를 핸들링 하는 로직을 추가합니다.
3단계: 런처 ContentView 파일 생성
런처를 실행할 LauncherContentView 파일을 생성합니다.
LauncherContentView구조체를 선언합니다.body 변수에는 런처가 로드될
WebView를 선언합니다.2단계에서 선언된
LauncherWebView구조체를 사용합니다.런처 호출 URL을 로드합니다.
런처 이벤트 처리를 위한 핸들러를 구현합니다.
4단계: 화면 전환 설정
1. WebView 구조체에서 Script Message 핸들링 추가
WKWebView를 사용하며userContentController에서 javascript를 전달 받는 이벤트를 등록합니다.런처에서 딥링크 호출 시
makeUIView함수 내에서 추가로 스크립트를 주입합니다.해당 가이드에서는
deepLinkHandler라는 이름으로 메시지 핸들러 네이밍을 정의하였습니다.Coordinator클래스 내userContentController함수에서 부모의onDeepLink콜백을 호출합니다.
2. WebView가 포함된 ContentView 내에서 화면 이동 처리 추가
WebView 내에서 딥링크 이벤트가 발생하면 상위 ContentView에서 해당 이벤트를 전달 받아 네비게이션 이동을 수행합니다.
queryParameters 로 넘어오는 데이터는 화면 전환 시 NavigationModel 에 추가로 정의하여 전달합니다.
Last updated