이 글의 성격은 무엇인가요?
질문 / 문제 해결
내용을 설명해주세요
안녕하세요, 토스 개발자 님.
앱인토스 미니앱 “탑승전” 개발자입니다.
문제 상황
@apps-in-toss/web-framework의 saveBase64Data 함수를 사용하여 이미지를 기기 갤러리에 저장하려고 합니다. 그런데 함수 호출 시 이미지가 갤러리에 저장되지 않고, 카카오톡 등 앱을 선택하는 OS 공유 시트가 표시됩니다.
즉, 사용자가 “이미지 저장” 버튼을 누르면 기대하는 동작(갤러리 저장)이 아닌 외부 앱으로 공유하는 화면으로 이동합니다.
현재 코드
import { saveBase64Data } from “@apps-in-toss/web-framework”;
await saveBase64Data({
data: base64ImageData,
fileName: “before_boarding_lockscreen.png”,
mimeType: “image/png”,
});
확인한 사항
검수 승인 완료: 해당 앱은 토스 검수를 통과하여 정책 위반은 아님을 확인했습니다.
웹 다운로드 방식 테스트: saveBase64Data를 스킵하고 웹 다운로드 방식()을 사용하면 공유 시트가 표시되지 않으나, 토스 앱 환경에서는 이미지 저장 자체가 되지 않습니다.
navigate 제거 테스트: 저장 후 페이지 이동 코드를 제거해도 동일한 현상이 발생합니다.
질문
saveBase64Data 함수가 이미지를 갤러리에 저장하는 것이 아니라 OS 공유 시트를 표시하는 것이 의도된 동작인가요?
만약 의도된 동작이 아니라면, 이미지를 갤러리에 직접 저장할 수 있는 올바른 사용법이나 대안 API가 있을까요?
함수명이 saveBase64Data인데 실제 동작이 "공유"라면, 갤러리 저장만 수행하는 별도 API(예: saveToGallery, downloadFile 등)가 있는지 안내 부탁드립니다.
기대하는 동작
이미지 저장 버튼 클릭
→ saveBase64Data 호출
→ 이미지가 갤러리에 저장됨
→ 완료 메시지 표시
실제 동작
이미지 저장 버튼 클릭
→ saveBase64Data 호출
→ OS 공유 시트 표시 (카카오톡, 메시지 등 앱 선택 화면)
→ 사용자가 앱 선택 또는 취소해야 함
환경 정보
SDK 버전: @apps-in-toss/web-framework (최신)
테스트 환경: 토스 샌드박스 앱
OS: iOS / Android 모두 동일 현상
답변 부탁드립니다. 감사합니다.