[UNITY & IOS] WWW auto caching 문제 해결하기 (Cache-Control)
Unity3D/Tips / 2016. 5. 19. 12:11
Android 나 PC 의 유니티에서 WWW 를 통해 파일을 받을 경우 IOS 는 해당 컨텐츠 헤더에 있는 값으로 자동으로 캐싱을 진행해 준다.
너무나 완벽한 OS 라서 문제가 생긴다..
아래 두가지 경우의 파일이 있다.
< Cache-Control 이 설정되어 있는 경우 >
< Cache-Control 이 없는 경우 >
Cache-Control 이 있는경우 IOS 에서는 해당 파일 캐싱을 진짜로 구현해 준다. ( 원래 이게 당연한 거지만.. )
따라서 저 만료 날자가 되기 전에 다시 같은 주소로 요청을 하면 새로 받아오지 않고 이전 캐싱된 데이터를 준다.
이 경우 가장 간단하게 해결하는 방법은 주소뒤에 의미없는 값을 추가하여 캐싱되지 않는 것처럼 꾸미는 것이다.
WWW( "http://www.naver.com/file.json?t=213948712" );
그러나 이 경우 클라이언트나 CDN 등에 쓸데없는 캐싱이 생길 수 있으며, 깔끔하지 않다.
가능한 Request 에서 요청 헤더에 다음과 같이 캐싱을 하지 않겠다고 추가하는것이 좋다.
WWWForm form = new WWWForm();
form.AddField( "Cache-Control", "no-cache" );
반응형
'Unity3D > Tips' 카테고리의 다른 글
Unity Job Process (0) | 2016.06.27 |
---|---|
[펌] 윈도우 빌드시 해상도 선택 다이얼로그 안나오게 하는 방법 (0) | 2016.06.14 |
[펌] Application.LoadLevel(string) is obsolete 마이그레이션 (0) | 2016.05.16 |
[펌] Unity로 다수의 인원이 개발할 때 알아두면 좋은 9가지 (0) | 2016.05.11 |
[펌] Unity 에서 장치 ID, MAC 주소 가져오기 (0) | 2016.05.02 |