아이폰 슬라이드 뒤로가기시 toss로 이동하는 현상


   useLayoutEffect(() => {
    const disableSwipe = async () => {
      await setIosSwipeGestureEnabled({ isEnabled: false });
    };

    disableSwipe();
  }, []);

위 코드를 react 최상단 컴포넌트에 넣어두었는데
여전히 슬라이드로 뒤로가기시 토스로 저희 앱에서 나가지는 현상이 발생하고 있습니다.

혹시 더 추가할 사항이 있을까요? 모든 페이지에 해당 코드를 넣는건 무리라고 생각되어 문의드립니다.

안녕하세요 :slight_smile:
재현 과정을 조금 더 자세히 들어볼 수 있을까요 ?!
Swipe 시에 히스토리에 따라 뒤로가기가 동작하고, 히스토리가 없을시에 미니앱이 종료되는 것이 사양입니다.
혹시 어떤 요구 사항이 있으신지요 ?

메일 알려주시면 해당 이슈 영상으로 찍어서 보내드릴게요

해당 코드를 제일 상단에 삽입했는데도 첫 화면을 제외한 나머지 페이지에서 뒤로가기 행동인 슬라이드시 토스 화면으로 이탈이 되고있습니다.

이탈이 되지않고 저희 내부에서 원하는 슬라이드 동작이나 뒤로가기 동작이 작동했으면 해서요

모두 히스토리 스택에 쌓고 계신 것 맞을까요 ?
코드 샘플도 공유해주시면 확인에 도움이 될 것 같아요!

dylan.kim@toss.im 입니다 :slight_smile:

메일로 해당 현상에 대한 영상과 그에 대한 설명을 보내드렸습니다.
코드 샘플은 특이사항이 딱히 없어 저희 앱의 버전정보를 추가로 보내드렸습니다.
추가적으로 react-swipeable 라이브러리도 사용중에있습니다.

죄송합니다. 며칠간 저희가 심각하게 보던 이슈였는데 저희쪽 이슈여서 공유드릴겸 댓글 남겨놓겠습니다.


  useEffect(() => {
    // 뒤로가기 버튼 눌렀을 때 사용자 확인을 받아요
    const unsubscription = graniteEvent.addEventListener('backEvent', {
      onEvent: () => {
        const shouldLeave = window.confirm('작성 중인 내용이 저장되지 않아요. 나가시겠어요?');
        if (shouldLeave) {
          // 나가는 코드를 작성해요.
        }
      },
    });

    return unsubscription;
  }, []);

해당 코드가 들어가있었습니다. 해당코드가 들어가 있는 페이지를 들어갔다 나오면 뒤로가기 스와이프가 풀리는 거였습니다.
그 이상의 원인은 파악은 안되어있으나 불필요한 코드로 일어난 현상같아 답글 남겨놓습니다.
신경써주셔서 감사합니다.

아! graniteEvent로 뒤로가기 이벤트를 강제 제어중이셨군요 ! 확인 감사합니다 :slight_smile:

1개의 좋아요