Я вытаскиваю свои волосы с утра, пытаясь загрузить изображения (веб-изображение) из ковша Amazon S3 и кешируйте его. Каким бы ни был подход, я ударил по тому или иному дорожному блоку. Различные способы я пытался добиться этого,iOS: Загрузка изображений AWS S3 и кеширование их для использования в будущем
- подклассов NSURLProtocol & Использование SDWebImage, чтобы получить изображение, как показано в блоге here. Проблема с этим подходом в том, что метод canInitWithRequest подкласса протокола никогда не будет вызван даже жестко. Я зарегистрировал свой класс подкласса NSURLProtocol.
- Планируется использовать SDWebImage и другие библиотеки напрямую, но мы не можем этого сделать, так как нет необходимости устанавливать заголовки авторизации в SDWebImage, даже жестко, если мы попытаемся установить его, SDWebImage будет игнорировать его при создании NSMutableURLRequest для загрузка.
Так что сейчас я остался с возможностью либо использовать Amazon SDK, чтобы загрузить изображение, а затем кэшировать его с помощью SDImageCache в SDWebImage в самостоятельно, или мне нужно добавить исходный код SDWebImage в мой проект и я необходимо изменить его источник, чтобы взять заголовок авторизации.
Пожалуйста, дайте мне знать, если есть лучший способ достичь этого, было бы здорово, если бы я мог указать на то, что было бы лучшим способом добиться того, что я пытаюсь сделать.
Заранее спасибо.
Вы можете использовать AWS SDK для iOS или попробовать использовать Мобильный концентратор AWS https://aws.amazon.com/mobile/ –
@ RohanDubal Да, я могу использовать SDK AWS, но проблема в том, что он не поддерживает кеширование из коробки, что является моей главной задачей. – iamyogish
Вы можете использовать Мобильный концентратор и включить функцию загрузки файлов/содержимого, которая загружает и хранит файлы в кеше, чтобы вы могли открывать их изначально в приложении, когда захотите. Каков конкретный вариант использования? Соответствует ли вышеупомянутая функция вашему варианту использования? –