-
-
Save insidegui/a18124c0c573a4eb656f5c485ea7dae4 to your computer and use it in GitHub Desktop.
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone9,4-2-3-0/online-infobox__3x.png | |
A B C D E F G | |
A: deviceImages version seems to determine the format of the image specifier (C, D, E, F) | |
B: device marketing name | |
C: device model identifier | |
D: color cover glass (front color) | |
1 - Black | |
2 - White | |
E: device enclosure color (back color) | |
1 - Space Gray | |
2 - White | |
3 - Gold | |
4 - Rose Gold | |
5 - Stainless steel white (Watch only) | |
6 - Stainless steel black (Watch) / Product Red (iPhone) | |
7 - Gold 2 (?) / Edition (Watch only) / White Ceramic (Watch only) | |
F: unknown | |
G: image variant | |
online-sourcelist.png | |
online-sourcelist__2x.png | |
online-sourcelist__3x.png | |
online-infobox.png | |
online-infobox__2x.png | |
online-infobox__3x.png | |
Examples: | |
White iPhone X | |
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone10,6-1-2-0/online-infobox__3x.png | |
Black iPhone 8 Plus | |
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone10,2-1-1-0/online-infobox__3x.png | |
Gold iPhone 8 Plus | |
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone10,2-2-3-0/online-infobox__3x.png | |
Black HomePod | |
https://statici.icloud.com/fmipmobile/deviceImages-9.0/HomePod/AudioAccessory1,1-1-1-0/online-sourcelist__3x.png | |
White HomePod | |
https://statici.icloud.com/fmipmobile/deviceImages-9.0/HomePod/AudioAccessory1,1-2-2-0/online-sourcelist__3x.png |
Some other exemples of my own :
iPhone XR RED
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone11,8-1-6-0/online-infobox__3x.png
iPhone 5S White
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone6,2-e1e4e3-d7d9d8/online-infobox__3x.png
MacBook Pro Spacegray
https://statici.icloud.com/fmipmobile/deviceImages-9.0/MacBookPro/MacBookPro15,1-spacegray/online-infobox__3x.png
iPad Pro White
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPad/iPad7,3-2-2-0/online-infobox__3x.png
iPod touch 4 White
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPod/iPod4,1-white/online-infobox__3x.png
Found at least one bug:
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone12,1-1-1-0/offline-nolocation_ipad__3x.png
https://statici.icloud.com/fmipmobile/deviceImages-9.0/iPhone/iPhone12,3-1-1-0/offline-nolocation_ipad__3x.png
These are the same image. Apple incorrectly shows a black iPhone 11 Pro for the black iPhone 11.
@stevemoser iPhone 8 was the last generation where they used different images for the different form-factor devices. They reuse images for the iPhone X, XS, and XS Max, too. They varied for the XR for obvious reasons.
How about the Apple Watch?
Can you try to document the "appleid-cdn" device images? It includes support for older versions on new devices, and is used in Apple Store app.
You may also be interested in the filename "online-nolocation_ipad__3x.png", I believe this is the highest resolution available so far.
...I'm also curious, I'm looking for the icons used in iOS/MacOS System Preferences, which still display my iPhone 12 mini with its default live wallpaper from launch, rather than the iOS 15 wallpaper. I'm curious if anyone has any clues where these files may be getting pulled from?
Edit: guessing settings is just a webview, because I can drag the icons out of it and they're just images/URL's (see: https://twitter.com/SkyVelleity/status/1500046892822319106 )
This is the file System Preferences was using:
https://appleid.cdn-apple.com/static/deviceImages-10.0/iPhone/iPhone13,1-3b3b3c-ccc7d7/online-infobox__2x.png
And we can go a bit bigger if we want:
https://appleid.cdn-apple.com/static/deviceImages-10.0/iPhone/iPhone13,1-3b3b3c-ccc7d7/online-nolocation_ipad__3x.png
I'm not sure if the hash here (3b3b3c-ccc7d7) includes the OS version or what, hence why this is displaying the original wallpaper, as I haven't updated this device past iOS 14.
As this is using deviceImages-10.0 looks like apple may now be including OS version too.
Not entirely sure if it's relevant but I suspect this may be the path needed to retrieve the hash:
libimobiledevice/libimobiledevice#818
These two it is just an RGB hash. #3B3B3C and #CCC7D7.
There's a few different things going on here. As of today, Apple have five different generations of these values and their identifiers, combined with several versions of their image archive. Across all the sets there are 57 different values. Briefly:
First generation identifiers use slugified colours. Often curious choices of colour names and finishes.
Here's a simple example, with an iPod Touch 5 in pink from the 4.0 deviceImage service. The code is
white-pink
.Second generation identifiers use hex colour codes. These vary between releases. For instance,
#e4e7e8
is white for a 6s Plus, but#e1e4e3
is white for a 6. Drove me crazy a few years back. Here's an iPhone X from the 7.0 deviceImage service.The third generation got introduced with the XS / XR, but confoundingly it's used and usable for some but not all second generation devices. In most cases, a device needs to stay within its generation of colour identifiers. This generation uses combinations of simple numbers. As above
2-7
would give you white on gold.To show how confusing this can be, here's an iPhone 8 in gold -- but pulled from the older 4.0 deviceImages service.
The gist above starts to get confused with Apple Watch colours. That's because they're actually in a different series. There's a first generation, where you'll see codes like
AlmGld
, and a second generation where you'll see numbers. Neither series fits with the above codes, because these values are encoding material as well as colour.Just as there's oddity in using different generations of iOS device colours, the Watch colour and material codes are weird, too. S0 thru S3 works on the first generation. S3 also works on the second generation. And so on.
There are a few other odd bits around where you can rely on defaults for some types of devices, and how others get represented.