是否有任何方法或黑客可以检测iOS安装的iPhone,iPad或iPod touch的颜色(黑/白)?
我想在黑色或白色设备的情况下加载相应的UI皮肤.
有一个私有API来检索DeviceColor
和DeviceEnclosureColor
.
UIDevice *device = [UIDevice currentDevice]; SEL selector = NSSelectorFromString(@"deviceInfoForKey:"); if (![device respondsToSelector:selector]) { selector = NSSelectorFromString(@"_deviceInfoForKey:"); } if ([device respondsToSelector:selector]) { NSLog(@"DeviceColor: %@ DeviceEnclosureColor: %@", [device performSelector:selector withObject:@"DeviceColor"], [device performSelector:selector withObject:@"DeviceEnclosureColor"]); }
我发表了关于此的博客并提供了一个示例应用:
http://www.futuretap.com/blog/device-colors/
警告:如上所述,这是一个私有API.不要在App Store版本中使用它.
这个问题的答案是否定的(截至目前)并且个人认为这不值得,因为如果最终用户为他的iPhone使用皮肤或额外的外壳怎么办?
我建议最初询问用户"嘿,手机的颜色是什么?" 然后做相应的事情.
此外,一项研究向我提供了这些信息,我不确定它是否正确或是否会帮助您.
序列号是关键:)
如果aabccdddeef
是iPhone 4的序列号,则ee
代表颜色,(A4 =黑色).我希望你们中的一些人在这里查看这些信息,看看是否属实.
只需2美分 - 如果有人在寻找iPhone 5c颜色,下面的颜色是从苹果网站上挑选出来的.
希望它对任何人都有用:-)
iPhone 5c颜色:
Green R 179 G 243 B 142 HEX #B3F38E Blue R 123 G 195 B 252 HEX #7BC3FC Yellow R 255 G 243 B 141 HEX #FFF38D Red R 252 G 132 B 142 HEX #FF848E White R 239 G 239 B 239 HEX #EFEFEF
根据网络上散布的信息,设备的颜色以序列号编码.iFixit的博客表明,第三个和倒数第二个位置保存信息:xxxxxxxxCCx
对于iPhone 4,A4
表示黑色.似乎没有人有白色iPhone 4的代码,这很奇怪.一个论坛帖子表明它可能是DZ
.在这里,每个人似乎只是在嘲笑其他人的信息.
另一个网站mydigitallife.com有一篇文章列出了各种旧型号的颜色代码.在某些情况下,必须一起读取三个位置以确定颜色.据该网站称,所有 iPhone 3Gs机型都3N
处于色码位置; 3NP
表示"黑色16GB 3G",3NQ
表示"白色16GB 3G".原始(2G)iPhone也使用所有三个位置来指示大小(没有颜色选项).
这里已经有很多问题可以帮助您获取设备的序列号.
正如其他人所指出的那样,没有,没有官方的方法来获取这些信息.Apple清楚地知道(在同步时在iTunes中查看),因此他们可以将其提供.可能值得提升雷达.
出于调试目的,我编译了一个更全面的可能deviceInfoForKey:
键列表.
有趣的关键要注意(对于这个问题)DeviceRGBColor
DeviceEnclosureRGBColor
.值似乎是一个整数,表示表单中的RGB值0x00rrggbb
.
这里,作为参考,我发现的所有键:
ActiveWirelessTechnology AirplaneMode assistant BasebandCertId BasebandChipId BasebandPostponementStatus BasebandStatus BatteryCurrentCapacity BatteryIsCharging BluetoothAddress BoardId BootNonce BuildVersion CertificateProductionStatus CertificateSecurityMode ChipID CompassCalibrationDictionary CPUArchitecture DeviceClass DeviceColor DeviceEnclosureColor DeviceEnclosureRGBColor DeviceName DeviceRGBColor DeviceSupportsFaceTime DeviceVariant DeviceVariantGuess DiagData dictation DiskUsage EffectiveProductionStatus EffectiveProductionStatusAp EffectiveProductionStatusSEP EffectiveSecurityMode EffectiveSecurityModeAp EffectiveSecurityModeSEP FirmwarePreflightInfo FirmwareVersion FrontFacingCameraHFRCapability HardwarePlatform HasSEP HWModelStr Image4Supported InternalBuild InverseDeviceID ipad MixAndMatchPrevention MLBSerialNumber MobileSubscriberCountryCode MobileSubscriberNetworkCode ModelNumber PartitionType PasswordProtected ProductName ProductType ProductVersion ProximitySensorCalibrationDictionary RearFacingCameraHFRCapability RegionCode RegionInfo SDIOManufacturerTuple SDIOProductInfo SerialNumber SIMTrayStatus SoftwareBehavior SoftwareBundleVersion SupportedDeviceFamilies SupportedKeyboards telephony UniqueChipID UniqueDeviceID UserAssignedDeviceName wifi WifiVendor