미니앱-카메라 기능 관련 문의드립니다

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

안녕하세요, 트래블로그(travellog) 미니앱을 개발 중인 박대웅입니다.

▌ 미니앱 정보

  • 워크스페이스: 트래블로그 (Travlog)
  • appName: travellog
  • 최신 deploymentId: 019e80ed-80f9-7245-8178-0564cc2d01d9
  • 상태: 앱 정보 검수 통과 / 앱 출시(번들) 검수 진행 전
  • 모드: 비로그인 (appLogin 미사용) / 사업자등록 미완료

▌ 증상
미니앱에서 openCamera를 호출할 수 없습니다.
권한 다이얼로그조차 화면에 표시되지 않고, 권한 API 자체가 거부됩니다.

▌ 재현 단계

  1. 토스 앱에서 트래블로그 미니앱 진입
  2. 여행 시작 → “사진 추가”
  3. “사진 촬영하기” 버튼 탭

▌ 진단 결과 (단계별 SDK 호출 결과)

A. openCamera.getPermission() 호출 결과:
→ throw NO_PERMISSION (“권한 없음”)
→ 즉 권한 상태 조회 API 자체가 거부됨

B. openCamera.openPermissionDialog() 호출:
→ A가 throw하기 때문에 호출 단계에 도달조차 못 함

C. getCurrentLocation.openPermissionDialog() 호출 결과:
→ throw INVALID_REQUEST (“요청이 올바르지 않습니다”)
→ 위치 권한 다이얼로그 호출도 거부됨

호출 코드:
await openCamera({ base64: true, maxWidth: 1024 })
await openCamera.getPermission()
await openCamera.openPermissionDialog()
await getCurrentLocation.openPermissionDialog()

(첨부 스크린샷 1, 2에 위 진단 메시지가 그대로 표시됨)

▌ 환경

  • iOS 18 (iPhone)
  • 토스 앱: 최신 버전
  • iPhone 설정 → 토스: 위치/사진(전체접근)/Face ID 모두 허용
  • iPhone 설정 → 토스: “카메라” 항목 자체가 보이지 않음 (요청된 적 없음)

▌ 질문

  1. 비로그인 미니앱 / 사업자등록 미완료 상태에서
    openCamera.getPermission()이 NO_PERMISSION을 throw하는 게
    의도된 동작인가요?

  2. 만약 그렇다면, 앱 출시(번들) 검수 통과 후 자동으로 해결되나요?
    아니면 콘솔에서 별도로 카메라/위치 권한 신청 단계가 필요한가요?

  3. 그렇지 않다면 어떤 추가 진단 정보를 제공해드릴 수 있을까요?
    (전체 코드 스니펫, 콘솔 로그, 추가 스크린샷 등)

확인 부탁드립니다. 감사합니다.

박대웅
parkeric1104@gmail.com

appName (선택)

travellog

안녕하세요 :slight_smile:
카메라 사용 권한을 granite.config.ts에 설정해주셨는지 확인 부탁드려도될까요?

권한 선언 한 줄로 해결됐습니다, 감사합니다

혹시 사진 화질 관련하여 추가로 문의사항이 있습니다.

openCamera의 base64 응답이 maxWidth: 2048 옵션을 따르지 않는 것 같습니다, 실제 픽셀 수를 알 수 있을까요!?

options.maxWidth를 2048로 적용했을때 잘 적용이 되는것 같습니다!
가이드 공유드려요.

안녕하세요,
알려주신 granite.config.ts permissions 선언으로 카메라/위치 권한
모두 정상 동작 확인했습니다. 친절한 답변 감사합니다 :slight_smile:
검수 신청 진행하겠습니다.