openCamera 호출 시 NOT_ALLOWED 에러가 발생하는 건에 대해 문의드립니다

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

질문 / 문제 해결

내용을 설명해주세요

@apps-in-toss/web-framework의 openCamera 호출 시 NOT_ALLOWED 에러가 발생하는 건에 대해 문의드립니다.

환경

  • @apps-in-toss/web-framework: 2.0.1

증상
openCamera() 호출 시 아래 에러가 반환됩니다.
NOT_ALLOWED: 허용되지 않는 요청입니다.
OpenCameraPermissionError가 아닌 일반 에러로 떨어지며, 권한 승인 팝업에서 승인을 해도 동일한 에러가 발생합니다.

현재 설정
granite.config.ts:

  import { defineConfig } from "@apps-in-toss/web-framework/config";
                                                                    
  export default defineConfig({                                                                                                 
    appName: "app name",   
    permissions: [                                                                                                              
      { name: "camera", access: "access" },
      { name: "photos", access: "read" },  
    ],                                                                                                                          
    // ...                                                                                                                      
  });

함수:

export async function pickImageFromCamera(): Promise<MediaPickResult> {
  try {
    const image = await openCamera({ base64: true });
    return {
      id: image.id,
      dataUri: normalizeDataUri(image.dataUri),
      sourceType: "camera",
    };
  } catch (error) {
    if (error instanceof OpenCameraPermissionError) {
      throw new PermissionDeniedError(
        "카메라 접근 권한이 필요해요. 권한을 허용해 주세요.",
      );
    }

    if (error instanceof MediaSelectionCancelledError) {
      throw error;
    }

    if (isCancelledError(error)) {
      throw new MediaSelectionCancelledError("사진 촬영을 취소했어요.");
    }

    console.error("[pickImageFromCamera] unknown error:", error);
    throw new MediaPickerUnknownError(
      "사진 촬영을 불러오는 데 실패했어요.",
      error,
    );
  }
}                                                                                                                           
  1. granite.config.ts에 camera, photos 권한을 선언한 상태입니다.
  2. 권한 승인 팝업이 표시되어 승인했지만, 이후에도 동일한 NOT_ALLOWED 에러가 발생합니다.

안녕하세요 :slight_smile:
해당 이슈 내부적으로 확인중에 있으며, 조치 완료되면 공유드리도록 하겠습니다 :man_bowing: