AI 사용기 / 웨일서바이버 개발기 · 2
웹게임을 아이폰 앱 안에 넣어봤다
SwiftUI와 웹뷰로 기존 게임을 아이폰에 담았다. 화면을 여는 것 외에 자산과 광고를 연결하는 일이 남았다.
웹으로 만든 게임을 아이폰에서도 실행해보고 싶었다. 처음부터 게임을 Swift로 다시 만든 것은 아니다. 초기 iOS 프로젝트는 SwiftUI 안에 WKWebView를 넣고, 그 안에서 웹게임을 여는 방식이었다.
게임은 웹 코드에 두고 앱에 필요한 기능만 바깥에서 붙이는 구조다. 기존에 만든 것을 살릴 수 있다는 점에서 먼저 시도할 만했다.
화면 밖에서 필요한 일
앱 안에는 HTML만 들어가는 것이 아니다. 자바스크립트와 이미지도 같이 읽혀야 한다. 초기 코드에서는 번들의 www 폴더에서 파일을 가져와 별도 URL 스킴으로 웹뷰에 전달했다. 웹 서버가 하던 일을 앱 안에서 처리한 셈이다.
광고는 또 다른 연결이 필요했다. 웹게임이 보상형 광고를 요청하면 네이티브 광고 관리자로 메시지를 넘겼고, 배너 영역도 SwiftUI 쪽에 뒀다. 게임 화면이 뜨는 것만 확인해서는 이 연결까지 확인한 것이 아니었다.
남아 있는 소스에서 이 구조는 확인된다. 다만 초기 포팅의 정확한 날짜와 당시 실제 기기에서 어디까지 점검했는지는 기록이 충분하지 않다. 광고 연동 코드가 있다는 이유로 그때 모든 광고가 정상 작동했다고 쓰지는 않겠다.

8월 25일 스토어 자료에 들어간 후대 비교 화면. 브라우저 캡처이며 초기 SwiftUI 앱의 실기기 화면은 아니다.
나중의 모바일 화면에는 터치 이동 안내와 큰 대시 버튼이 들어갔다. 앱 안에서 웹게임을 여는 일과 손가락으로 편하게 플레이하게 만드는 일은 따로 남았다.
다시 포팅한다면 ‘앱으로 만들기’를 한 항목으로 두지 않을 것 같다. 첫 화면이 열리는지, 전투가 되는지, 광고를 보고 돌아오는지 나눠서 확인하려 한다. 같은 아이폰 앱을 향한 작업이라도 이후의 Capacitor 전환과 이 초기 시도는 다른 구현이었다.
← 이전 글: 러버블에서 고래 게임을 시작했다 · 전체 목차 · 다음 글: 스팀을 생각하니 조작부터 다시 봐야 했다 →