iPad 2 确定设备颜色

Posted

技术标签:

【中文标题】iPad 2 确定设备颜色【英文标题】:iPad 2 determine device color 【发布时间】:2011-03-30 00:49:41 【问题描述】:

我已尝试在文档中四处查看,但没有成功。我想知道是否有办法确定 iPad 2 颜色。我正在开发的应用程序,我想根据 iPad 的颜色更改设计的外观。

如果可能的话,有什么想法吗?

【问题讨论】:

我对此表示怀疑,但考虑到这一点 +1。有趣的想法。 作为替代方案,您可以只公开一个设置,允许用户选择是要使用“浅色”主题还是“深色”主题。 @DA 谢谢。 @aroth 我的第二个想法是如果我不能这样做的话。 当您插入彩色 iPod 时,iTunes 会以正确的颜色 IIRC 显示它,因此设备必须知道并能够以某种方式报告它是什么颜色似乎是合乎逻辑的。我想知道 USB 数据包嗅探器是否会产生任何有趣的东西?或者它可以从型号/序列号中看出? 【参考方案1】:

有一种方法可以通过序列号检测 iPhone 的颜色。也许这也可以用来检测 iPad 2 的颜色?

以下摘自http://itune2iphone.blogspot.com/2011/01/iphone-serial-number-secret-decode.html

Typically, the serial number of iPhone is in the following format:

AABCCDDDEEF
For example, 88025xxxA4T, where the serial information can be decoded as following:
AA = Factory and Machine ID
B = Year of Manufacturing (9 is 2009/2019, 0 is 2010/2020, 1 is 2011 and so on)
CC = Production Week (01 is week 1 of B, 11 is week 11 of B and so on)
DDD = Unique Identifier
EE = Color (A4=black)
F = size (S=16GB, T=32GB)

the last 3 digits of iPhone serial number are indicative of color and size and should be read together

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)

我知道这不是一个完整的答案,但也许您可以比较相同尺寸和规格的白色 iPad2 与黑色 iPad2 的序列号(例如,都是 64G 和看看代码有何不同)。

我将首先列出我的 iPad2 序列号的最后三位:

FJ3 - iPad2 64GB 黑色 3G

【讨论】:

不幸的是,我认为没有任何方法可以以编程方式确定设备的序列号(没有 IOKit,这将导致您的应用程序被拒绝),因此这不适用于应用商店应用。 :(【参考方案2】:

有一个私有 API 可以同时检索 DeviceColorDeviceEnclosureColor

UIDevice *device = [UIDevice currentDevice];
SEL selector = NSSelectorFromString([device.systemVersion hasPrefix:@"7"] ? @"_deviceInfoForKey:" :  @"deviceInfoForKey:");
NSLog(@"DeviceColor: %@ DeviceEnclosureColor: %@", [device performSelector:selector withObject:@"DeviceColor"], [device performSelector:selector withObject:@"DeviceEnclosureColor"]);

我已经写了一篇关于这个的博客,并编写了一个示例应用程序来说明这一点:

http://www.futuretap.com/blog/device-colors/

【讨论】:

【参考方案3】:

也许不是最好的方法,但如果这非常重要(我会问自己是否真的如此),我会选择的方法是创建一个 UIAlertView 来提示用户选择他们的 iPad 颜色来自一个有限的列表。

享受吧!

【讨论】:

我猜这是真的。我在想它只是特定于颜色,但让用户选择会很好。 不过,如果配色方案根据设备颜色默认设置并且不需要分散注意力的警报,那就太好了(如果需要,用户可以稍后通过应用程序的设置更改配色方案)。跨度>

以上是关于iPad 2 确定设备颜色的主要内容,如果未能解决你的问题,请参考以下文章

ipad屏幕颜色出现问题

iPad UINavigationbar 默认颜色?

检测 iPhone/iPad/iPod touch 的颜色?

检测 iPhone/iPad/iPod touch 的颜色?

基于设备的字体类型和颜色

单击/触摸事件的背景颜色更改在触摸设备上不起作用