스토어에 있는 앱을 앱박스로 옮기기

웹사이트를 웹뷰로 띄우는 앱을 이미 App Store · Google Play 에서 운영 중이라면, 빌드 1단계에서 앱을 스토어에서 운영중입니다. 를 고르고 아래 순서로 확인하세요.
새 앱이 아니라 기존 앱의 업데이트로 올라가야 합니다.

확인 순서

  • 시작 전 확인 : 빌드를 누르기 전에 Apple 권한 · 번들 ID · 버전을 맞춥니다.
  • 기능별 지원 : 기존 앱이 하던 기능이 앱박스 앱에서 어떻게 되는지 확인합니다.
  • 빌드 뒤 확인 : 스토어 공개 전에 테스트 빌드로 확인합니다.
시작 전 확인
스토어에 있는 앱을 앱박스로 옮기면, 새 앱이 아니라 기존 앱의 업데이트로 올라가야 합니다. 빌드를 누르기 전에 아래 네 가지를 확인하세요. 하나라도 어긋나면 새 앱으로 등록되거나, 업로드가 거절될 수 있습니다.

기존 iOS 앱이 iPad 를 지원하면 빌드 전에 앱박스에 iPad 지원 설정을 요청하세요. App Store Connect › 앱 › 빌드에서 기기 군에 iPad 가 있는지 확인하고, 있으면 콘솔 고객지원 › 문의하기로 요청해 주세요. 설정 없이 빌드하면 Apple 은 업데이트에서 지원 기기를 줄일 수 없어 TestFlight 업로드가 거절됩니다. iPad 지원 앱은 심사 제출 때 13인치 iPad 스크린샷이 필요합니다.

Apple 개발자 계정 권한
iOS 빌드 준비 작업은 Apple 개발자 팀의 계정 소유자(Account Holder) 또는 관리자(Admin)만 할 수 있습니다.
작업필요한 권한
App ID · App Group 등록,
기존 App ID 에 기능(App Groups · 푸시) 켜기
계정 소유자 또는 관리자
푸시용 APNs 키(.p8) 만들기계정 소유자 또는 관리자
App Store Connect API 키(Key ID · .p8) 만들기계정 소유자 또는 관리자
App Store Connect API 액세스 요청(팀에서 처음 한 번)계정 소유자만
  • 팀에서 API 키를 처음 만들 때는 계정 소유자가 먼저 [사용자 및 액세스 › 통합]에서 액세스를 요청해야 합니다. Apple 이 검토한 뒤 승인하니 미리 해 두세요.
  • 권한이 없다면 다음 중 하나로 진행하세요.
    ① 계정 소유자·관리자에게 내 역할을 「관리자」로 바꿔 달라고 요청합니다.
    ② 해당 단계만 계정 소유자·관리자에게 부탁하고, 결과(Issuer ID · Key ID · .p8 파일)를 안전한 방법으로 전달받습니다. .p8 파일은 다시 내려받을 수 없습니다.
    ③ 앱박스 등록 대행을 이용합니다(애플 개발자 권한 초대). 초대도 계정 소유자·관리자가 해야 합니다.
번들 ID와 패키지 이름
  • iOS 번들 ID는 App Store Connect 에 등록된 기존 앱의 번들 ID 와 한 글자도 다르지 않아야 합니다. 다르면 기존 앱과 연결되지 않아 새 앱으로 등록됩니다.
  • Android 패키지 이름도 Google Play 에 올라간 기존 앱과 같아야 합니다.
  • 「iOS 앱 빌드」 6단계의 번들 ID 칸은 이전에 앱박스로 빌드한 적이 없을 때만 고칠 수 있습니다. 첫 빌드 전에 꼭 확인하세요.
FCM 설정의 번들 ID
  • 콘솔 「FCM 설정」에서 고른 iOS 앱의 번들 ID 가 6단계 번들 ID 칸에 먼저 채워집니다. 고치지 않으면 그 값으로 빌드됩니다.
  • Firebase 프로젝트에 iOS 앱이 여러 개면 목록의 첫 번째 앱이 자동으로 선택됩니다. 스토어 앱과 같은 번들 ID 의 앱을 골랐는지 확인하세요.
  • Firebase 를 새로 만든다면 iOS 앱을 등록할 때 스토어 앱의 번들 ID 를 그대로 넣으세요.
버전과 빌드 번호
  • 첫 빌드는 3단계에서 「수동 생성」을 고르세요. 「자동 생성」을 고르면 버전 1.0.1 · 빌드 번호 1 로 들어가 스토어 앱보다 작아집니다.
  • 앱 버전은 스토어에 올라간 버전보다 크게 넣습니다. 예: 스토어 4.3.7 → 4.3.8
  • 빌드 번호는 정수만 넣을 수 있습니다. 기존 앱의 빌드 번호가 4.3.7 처럼 점 표기라면 앞자리보다 큰 정수를 넣으세요.
    예: 5 를 넣으면 Apple 은 5.0.0 으로 봐서 4.3.7 보다 큽니다. 4 는 4.0.0 이라 작아서 안 됩니다.
  • Android 버전 코드도 Google Play 에 올라간 값보다 큰 정수를 넣습니다.
  • 앱박스로 한 번 빌드한 뒤로는 콘솔이 빌드 번호를 6, 7 … 처럼 하나씩 올려 줍니다.
기능별 지원
기존 앱이 직접 처리하던 기능이 앱박스 앱에서 어떻게 되는지 정리했습니다. iOS · Android 가 다른 곳은 따로 적었습니다.
기본 지원
따로 할 일이 없는 기능입니다.
파일 첨부 · 카메라로 사진 찍어 첨부
  • 앱박스 앱에서 : 웹의 파일 선택(<input type="file">)이 그대로 동작합니다.
  • 할 일 : 없음. 카메라 권한 문구는 아래 「설정 필요 › 권한 사용 문구(iOS)」를 확인하세요.
알림창 alert
  • 앱박스 앱에서 : 「알림」 제목의 대화상자로 뜹니다. iOS 는 다른 화면이 이미 떠 있으면 표시하지 않고 넘어갑니다.
  • 할 일 : 알림창을 연달아 띄우는 페이지는 빌드 뒤 한 번 확인하세요.
확인창 confirm
  • 앱박스 앱에서 : 「확인 / 취소」 대화상자로 뜹니다.
  • 할 일 : 없음.
업데이트 뒤 로그인 유지
  • 앱박스 앱에서 : 웹뷰 데이터를 기기에 계속 저장하는 기본 방식을 씁니다. 기존 앱도 같은 방식이었다면 업데이트 뒤에도 로그인이 유지될 것으로 봅니다(실기기 확인 전).
  • 할 일 : 스토어 공개 전에 TestFlight · 내부 테스트로 확인하세요 — 빌드 뒤 확인.
http 주소
  • 앱박스 앱에서 : iOS 앱은 기존 사이트와 호환되도록 http 연결을 막지 않습니다.
  • 할 일 : 없음. 다만 사이트는 https 로 운영하세요.
설정 필요
콘솔 빌드 단계에서 고른 뒤 빌드하는 기능입니다.
시작 주소(경로 포함)
  • 앱박스 앱에서 : 「웹 사이트(도메인)」에 경로까지 넣을 수 있고, 앱이 그 주소로 시작합니다. 하단 메뉴 「홈」도 이 주소를 엽니다. 저장할 때 주소 끝의 / 는 지워집니다.
  • 할 일 : 도메인 주소가 첫 화면으로 이동시켜 준다면 도메인만 넣으세요. 경로를 넣는다면 끝 / 를 뺀 주소(예: www.example.com/user)가 브라우저에서 https 로 열리는지 먼저 확인하세요.
화면 방향
  • 앱박스 앱에서 : 기본은 세로 고정입니다(iPad 는 세로 · 거꾸로 세로). 4단계 「가로모드 지원」을 켜면 가로 회전도 됩니다.
  • 할 일 : 기존 앱이 가로 회전을 썼다면 4단계 「가로모드 지원」을 켜세요.
iOS 앱 빌드 4단계 디자인 설정
권한 사용 문구(iOS)
  • 앱박스 앱에서 : 5단계 「OS 권한 사용 문구 설정」에서 카메라 · 위치 문구를 바꿀 수 있습니다(각 70자 이내). 끄면 기본 문구가 들어갑니다 — 카메라 기본 문구는 「QR 코드 · 바코드 스캔」 용도입니다. 광고 추적(ATT) 문구는 고정이라 바꿀 수 없습니다.
  • 할 일 : 토글을 켜고 기존 앱의 문구를 옮겨 넣으세요. 실제 용도와 문구가 다르면 심사에서 지적받을 수 있습니다. 마이크는 아래 「지원 안 됨과 주의」를 보세요.
외부 앱 실행(지도 · 내비 · 결제 앱 등)
  • 앱박스 앱에서 : 웹에서 kakaonavi:// 처럼 http(s) 가 아닌 주소를 열면 해당 앱을 실행합니다.
  • 할 일 : 기존 앱에서 쓰던 외부 앱 스킴을 5단계 「외부 앱 스킴 설정」에 등록하세요(최대 20개). 등록하지 않아도 실행되는지는 실기기 확인 전입니다.
iOS 앱 빌드 5단계 고급 설정
웹 수정 필요
사이트에 앱박스 브릿지 호출을 추가해야 하는 기능입니다.
핀치 줌(손가락으로 확대)
  • 앱박스 앱에서 : 기본은 꺼짐입니다. iOS 는 켜면 최대 3배까지 확대됩니다. 바꾼 값은 저장돼 앱을 다시 실행해도 유지됩니다.
  • 할 일 : 확대가 필요하면 웹에서 AppboxSDK.ui.setZoomEnabled({ enabled: true }) 를 호출하세요 — SDK 가이드 › 핀치 줌.
하단 뒤로가기 버튼
  • 앱박스 앱에서 : 기존 앱이 직접 그리던 하단 버튼은 자동으로 생기지 않습니다.
  • 할 일 : 웹에서 앱박스 브라우저 메뉴(AppboxSDK.gmenu.openBrowserMenu)를 호출하세요 — SDK 가이드 › 브라우저 메뉴.
지원 안 됨과 주의
새 창 window.open
  • 앱박스 앱에서 : 새 전체화면 화면으로 열립니다. width · height 같은 창 크기 옵션은 반영되지 않습니다. 새 창 안에서 window.close() 를 부르면 닫히고 원래 화면으로 돌아갑니다.
  • 할 일 : 바로 아래 「새 창의 닫기 버튼」을 같이 보세요.
새 창의 닫기 버튼
  • 앱박스 앱에서 : iOS 는 새 창에 닫기 버튼이 없습니다. 페이지가 window.close() 를 부르지 않으면 화면 왼쪽 끝을 밀어서 뒤로 가는 방법만 남습니다(실기기 확인 전). Android 는 기기 뒤로가기 버튼으로 새 창 안 이전 페이지 → 새 창 닫기 순서로 돌아갑니다.
  • 할 일 : 새 창으로 여는 페이지에 「닫기」 버튼을 두고 window.close() 를 호출하세요. 또는 새 창 대신 같은 창에서 이동(location.href)하도록 바꾸세요.
새 창에서 인쇄 window.print()
  • 앱박스 앱에서 : 실기기 확인 전입니다.
  • 할 일 : 인쇄(보고서 출력 등)를 쓰는 사이트는 빌드 뒤 꼭 확인하세요.
입력창 prompt
  • 앱박스 앱에서 : iOS 는 「확인」 버튼만 있고 취소할 수 없습니다. 기본값은 입력값이 아니라 흐린 안내 글자로 보이고, 비워 두고 확인하면 기본값이 돌아갑니다. Android 는 시스템 기본 동작입니다.
  • 할 일 : 취소가 필요한 입력은 페이지 안의 입력 화면으로 바꾸세요.
마이크(녹음 · 소리 있는 동영상 촬영)
  • 앱박스 앱에서 : iOS 앱에 마이크 권한 문구가 들어가지 않습니다. 콘솔에도 마이크 문구 칸이 없습니다. iOS 는 문구 없이 권한을 요청하면 그 순간 앱이 종료됩니다.
  • 할 일 : 사이트가 녹음이나 소리 있는 동영상 촬영을 쓴다면, 빌드 전에 고객지원에 먼저 문의하세요.
빌드 뒤 확인
스토어에 공개하기 전에, 기존 앱이 깔린 기기에 새 빌드를 덮어 설치해서 확인하세요.
  1. 스토어 앱으로 로그인합니다. 「자동 로그인」이 있으면 켭니다.
  2. 같은 기기에 TestFlight(Android 는 내부 테스트) 빌드를 설치하고 실행합니다.
  3. 로그인이 유지되는지 봅니다.
  4. 앱을 완전히 종료한 뒤 다시 실행해 한 번 더 봅니다.
  5. 새 창(window.open)으로 여는 화면을 열고, 닫고 원래 화면으로 돌아올 수 있는지 봅니다.
  6. 인쇄 · 외부 앱 실행 · 파일 첨부 · 알림창을 쓰는 화면을 한 번씩 눌러 봅니다.
문제가 있으면 기기(iOS · Android)와 화면 주소를 적어 고객지원에 알려 주세요.
www.naver.com
QR 코드를 촬영하면 입력하신 주소의
앱 예시 화면을 테스트할 수 있습니다.
* 스캔 후 바로 앱 다운로드 이동합니다.