检测iPhone / iPod的颜色

可能重复:
检测iPhone / iPod touch的颜色?

是否可以在本地或在手机浏览器中检测iPhone / iPod的颜色?

我正在和一个喜欢让networking应用程序响应设备颜色的devise师合作。

在这里输入图像说明

我不认为这是可能的。 内部硬件(“主板”将所有组件保存在一起以及组件本身)是在没有任何关于最终shell的知识的情况下制造的。 对于软件(固件和iOS)也是如此,因为除了可能embedded在固件中的任何序列号,所有设备获得完全相同软件的相同副本,字节相同的字节。 苹果可能会针对不同的shell使用不同的设备序列号范围,但这只是一个疯狂的猜测。

这就像build造一辆汽车:所有零部件(发动机,电子设备等)都是同等制造的,无论最终的汽车涂上什么颜色。 实际的汽车是完全组装的,所有的硬件和所有的软件,并准备使用之前,它是彩色涂层; 直到最后一秒,最终决定如何着色它可能会改变。

UPDATE

我在这个话题上做了更多的调查,发现这个“疯狂的猜测”并不像我想的那么疯狂。 实际上,苹果公司为不同的设备颜色使用不同的序列号范围。 序列号(以及类似的数字,如iPhone的IMEI)是设备固件的唯一部分,对于每个制造的设备都是不同的。

苹果在过去使用了以下序列号格式(不知道这是否仍然是最新的,但它仍然是最新的iPhone 4):

AABCCDDDEEE AA = ID of the factory that manufactured the device. B = Year of production: 8=>2008, 9=>2009, 0=>2010, 1=>2011, etc. CC = Week number of the year. DDD = Production index number, is reset every week, base-34 encoded. EEE = Model ID. 

有趣的价值是“模型ID”。 同一代设备具有不同的型号ID,具体取决于其颜色和可用存储量。

尽pipe如此,我还没有find所有可能的值的完整列表。 即使有这样一个完整的列表,你仍然有问题,你需要保持它的最新,因为苹果不断发布新的模型,所以列表可能已经过时了几个月(至less一年一次甚至两次)。 以下是序列号(EEE)最后3位数的一些示例值:

 VR0: iPhone 2G Silver 4GB WH8: iPhone 2G Silver 8GB 0KH: iPhone 2G Silver 16GB Y7H: iPhone 3G Black 8GB Y7K: iPhone 3G Black 16GB 3NP: iPhone 3GS Black 16GB 3NR: iPhone 3GS Black 32GB 3NQ: iPhone 3Gs White 16GB 3NS: iPhone 3Gs White 32GB A4S: iPhone 4 Black 16GB A4T: iPhone 4 Black 32GB 

到目前为止,我还没有发现任何当前iPod的样本值。

没有暴露的API。

如果您希望Apple添加这些内容,则应该在http://bugreporter.apple.com上提交增强请求。

有没有办法做你在说什么…但有很多方法让你获得颜色,你可以创build一个UIPickerView并添加可供select的颜色供用户select,例如。