2016-11-22 2 views
0

본사 및 해외의 개발자를 대상으로 SDK를 구축 중입니다. 이 SDK는 Singleton으로 구현되며 개발자가 회사 서버에서 (가능한 경우) 획득 한 데이터 개체를 제공합니다.캐시 설정은 어떻게 처리해야합니까?

NSURLCache의 sharedURLCache를 사용하여 SDK를 초기화 할 때 NSURLSessionConfiguration을 구성하려고하지만 나중에 응용 프로그램 개발자가 캐시 설정을 변경하여 모호한 버그가 발생할 수 있다고 생각합니다.

더 좋은 방법이 있습니까? 당신을 가정

답변

3

은 오브젝티브 C와 스위 즐링 편안 :

당신은 관련 호출을 차단하고 별도로 캐시를 관리하는 NSURLProtocol을 추가 할 수 있습니다.

다른 NSURLProtocols가 자신을 덮어 쓰지 않게하려면 (등록 된 순서대로 검사됩니다) 새 NSURLProtocol [NSURLProtocol registerClass:[MyURLProtocol class]];을 등록하도록 호출을 전환하고 다른 대체는 항상 NSURLProtocol을 다음과 같이 추가하십시오. 마지막 하나.

나는이 잘 문서화 그녀가 이해하고 있는지 확인하기 위해 SDK를 사용하여 모든 개발자에게 전달되어 있는지 확인 것이라고 그녀의 NSURLProtocol됩니다에서 항상 느슨한 여기

일부 참조가 Swizzling에있는 당신의 NSURLProtocol을 통해 대통령과 NSURLProtocol 하나 뿐인 NSHipster ...

+0

재미있는 옵션! – Kheldar

관련 문제