Community

앱에서 오프라인 모드를 지원하시나요?

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

알림

알림이 없습니다