Allow to initialize an UIImage from a URL.

Originator:futuretap
Number:rdar://41123533 Date Originated:14-Jun-2018 09:43 AM
Status:Open Resolved:
Product:iOS + SDK Product Version:11.3/12
Classification:Security Reproducible:Always
 
Summary:
This is a duplicate of radar #40984545

Area:
UIKit

Most images eventually come from http/https URLs. It's not trivial to write good code that downloads images. It usually involves following parts:

- Download image in background
- Progressive display
- Caching, LRU management, checking if file is the same/updated on the server
- resuming
- background decompressing

No wonder that rarely any app gets this right, and 3rd-party frameworks like SDWebImage, PINImage or Twitter Image Pipeline are popular.

Web browsers just do all of that as part of their core logic. Decompressing images is also hard and should ideally be abstracted away. It seems unreasonable to ask app developers to reinvent the wheel every single time.

Not even Apple gets this right, as you can see in the WWDC 2018 app:
https://twitter.com/steipete/status/1005579125787152384

Please add something like UIImage(from: URL("http://domain.com/image.jpg") that does the right thing for typical use cases (if URLs need auth, people can still aways roll their own)


Steps to Reproduce:
 

Expected Results:
 

Actual Results:
 

Version:
11.3/12

Notes:
Ideally, the API should allow to fade in the image as soon as it's loaded. Or let us do that in a completion handler.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!