是否可以检测iPhone / iPod的颜色 - 无论是原生还是移动浏览器?
我正在与一位喜欢让网页应用响应设备颜色的设计师合作。
答案 0 :(得分:5)
我不认为这是可能的。内部硬件(将所有组件保持在一起的“主板”和组件本身)是在不了解最终外壳的情况下制造的。软件(固件和iOS)也是如此,因为除了可能嵌入固件的任何序列号之外,所有设备都获得完全相同软件的相同副本,字节相同,字节相同。苹果可能会针对不同的外壳使用不同的设备序列号范围,但这只是一个疯狂的推测。
就像制造汽车一样:所有部件(发动机,电子产品等)都是同等制造的,无论最终汽车的颜色是什么颜色。实际上汽车是完全组装好的,所有硬件和所有软件,并且在彩色涂层之前就可以使用了;直到最后一秒,最终决定如何着色它可能会改变。
的更新强>
我对这个话题进行了更多的调查,我发现“狂野的猜测”并不像我想象的那样疯狂。实际情况似乎是Apple为不同的设备颜色使用不同的序列号范围。序列号(以及类似的数字,如iPhone的IMEI)是设备固件的唯一部分,对于每个制造的设备而言都是不同的。
Apple过去使用了以下序列号格式(不确定这是否仍然是最新的,但它仍然是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,具体取决于它们的颜色和可用存储量。
但我没有找到所有可能值的完整列表。即使有这样一个完整的列表,你仍然有一个问题,你需要保持它是最新的,因为Apple不断发布新的模型,所以这个列表可能会在几个月内过时(至少一年一次甚至两次)。以下是序列号(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世代的任何样本值。
答案 1 :(得分:0)
没有公开API。
如果这是您希望Apple添加的内容,则应在http://bugreporter.apple.com处提交增强请求。
答案 2 :(得分:-1)
没有办法做你所说的......但是你有很多方法可以获得颜色,你可以创建一个UIPickerView并在那里添加可能的颜色供用户选择,例如。 / p>