앱에서 오프라인 모드를 지원하시나요? 앱을 실행하면 여러 API를 호출하는 경우가 있습니다. API하나도 되면 좋겠지만 다른 화면에서도 사용할 수도 있고 너무 많은 정보를 내번 내려주는 것은 낭비일 수도 있죠. 그러다 보니 그 API중 하나라도 네트워크 상태에 따라 실패/지연 되면 앱을 실행 실행하자마자 사용자가 오류를 보게되는 상황이 펼쳐질 수 있습니다. 어떤 API는 사용자에 따라 다른 정보를 내려주는 반면 사용자와 상관없이 항상 같은 정보를 주는 API도 있죠. 시원스쿨 앱을 개발할 때 이런 문제를 해결하기 위해 Cache를 적용하면서 오프라인에 대해 고민 했었습니다. 일반적으로 Cache는 존재한다면 사용하죠. Cache가 존재하더라도 서버에서 언제의 응답이 갱신될지 알 수 없기 때문에 호출 자체를 안할 수는 없었습니다. 때문에 호출에 실패하는 경우 Cache를 찾아서 있으면 그걸로 대신 응답 처리하는 방법으로 구현했었습니다. 그러나 그것만으로는 사용자들이 정말로 원하는 오프라인 수강을 할 수 없었습니다. 모든 강의들은 기간 만료 처리를 해야 하고 거기에 진도율 관련된 이벤트들도 있었기 때문에 정책상의 문제가 있었습니다. 이 글은 저자 Offline 지원을 위해 겪었던 시행착오와 오프라인을 지원하면 어떤 점이 좋을지 소개하는 내용을 담고 있습니다. 여러분의 앱은 네트워크가 되지 않아도 사용할 수 있나요? #직독직해 #medium #offline #ios #swiftui #caching

콘텐츠를 더 읽고 싶다면?
원티드에 가입해 주세요.
로그인 후 모든 글을 볼 수 있습니다.
댓글 1