這兩天平安的產(chǎn)品經(jīng)理提出了一個奇葩的需求--“根據(jù)手機殼顏色改變主題”,導致程序員和產(chǎn)品經(jīng)理大打出手每瞒,最后雙雙被開除艺普。
剛開始看到這個帖子時华畏,所有的軟件開發(fā)群都炸了谨敛,那么到底能不能實現(xiàn)這個需求呢媳荒?答案是能抗悍,iOS提供了獲取手機殼的API,安卓手機五花八門钳枕,估計想實現(xiàn)是有些懸的缴渊。具體該怎么實現(xiàn)呢,接下來請各位看官看下面的代碼
注意鱼炒,該方法是獲取手機殼的顏色哦衔沼。
拿到了手機殼的顏色,就可以根據(jù)手機殼的顏色來改變主題顏色了。指蚁。菩佑。
但是該寫法是私有api,所以上架會被拒凝化,各位看官慎用稍坯,遇到產(chǎn)品經(jīng)理提這樣的需求的話,那就只好打一架了搓劫。瞧哟。。
接下來把代碼直接貼出來了枪向,方便以后copy
?? ? //獲取手機殼的顏色
-(void)getDeviceColor
{
?? ? UIDevice *currentDevice = [UIDevice currentDevice];
?? ? SEL selector = NSSelectorFromString(@"deviceInfoForKey:");
? ? ?if(![currentDevicerespondsToSelector:selector]) {
?? ? selector =NSSelectorFromString(@"_deviceInfoForKey:");
?? ? }
?? ? if([currentDevicerespondsToSelector:selector])
?? ? {
?? ? IMPimp = [currentDevicemethodForSelector:selector];
?? ? NSString*(*func)(id,SEL,NSString*) = (void*)imp;
?? ? NSString*deviceColor = func(currentDevice,selector,@"DeviceColor");
?? ? NSString*deviceEncColor = func(currentDevice,selector,@"DeviceEnclosureColor");
?? ? NSLog(@"deviceColor:%@,DeviceEnclosureColor:%@",deviceColor,deviceEncColor);
?? ? }
}