Skip to content

iOS Module 기술적 고민점

jeyong edited this page Jul 19, 2024 · 4 revisions

모듈 설계 및 접근 제어

  • LocationTrackingModule을 처음 설계할 때, 접근 제어와 API 키 저장 방법에 대해 고민했습니다.
    • 모듈에서 사용하는 메소드들을 정리하였고, 필요한 데이터를 파악하여 모듈을 가져올 시 API 키, 서버 주소, 위도와 경도를 설정하여야만 생성할 수 있게 설정하였습니다.
    • Package에서 기본 제어자가 internal 이여서 메소드를 접근하지 못하는 문제점이 생겼었는데, 정확한 접근 제어를 위해 사용자가 사용해야하는 메소드를 public으로 설정하였습니다.

토큰 발급 및 관리

  • 위치 추적 API를 사용하기 위해서는 토큰이 필요합니다.

    • 모듈 초기화 시 토큰을 발급 받도록 구현하였고, 해당 토큰이 있는 경우에만 API를 사용할 수 있도록 설정했습니다.

    • 토큰이 짧은 주기로 만료되기 때문에, API를 사용했을 때 만료된 토큰인지 상태코드를 통해 파악 후, 만료된 경우 재발급받는 retry 메커니즘을 통해 문제를 해결하였습니다.