Я выполнил функцию, которая работает в следующих случаях: - 1) с или без # 2) и длинные значения 3 и 6 символов # 000, а также # 000000 3) В случае дополнительных цифр более шести он игнорирует дополнительные цифры
//Function Call
UIColor *organizationColor = [self colorWithHexString:@"#AAAAAAAAAAAAA" alpha:1];
//Function
- (UIColor *)colorWithHexString:(NSString *)str_HEX alpha:(CGFloat)alpha_range{
NSString *noHashString = [str_HEX stringByReplacingOccurrencesOfString:@"#" withString:@""]; // remove the #
int red = 0;
int green = 0;
int blue = 0;
if ([str_HEX length]<=3)
{
sscanf([noHashString UTF8String], "%01X%01X%01X", &red, &green, &blue);
return [UIColor colorWithRed:red/16.0 green:green/16.0 blue:blue/16.0 alpha:alpha_range];
}
else if ([str_HEX length]>7)
{
NSString *mySmallerString = [noHashString substringToIndex:6];
sscanf([mySmallerString UTF8String], "%02X%02X%02X", &red, &green, &blue);
return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha_range];
}
else
{
sscanf([noHashString UTF8String], "%02X%02X%02X", &red, &green, &blue);
return [UIColor colorWithRed:red/255.0 green:green/255.0 blue:blue/255.0 alpha:alpha_range];
}}
Системы: Mac OS
В моем случае, у меня не было двух adb серверов, работающих, таким образом, ни одно из решений не помогло.
я обновил Studio Android к последнему, но у меня также была старая версия adb, установленного с помощью бочки варева. И в то время как я обновил свой Studio Android к последнему, adb все еще указывал на установленную более старую версию варева.
Поэтому после обновления версии бочки варева, использования:
brew cask install android-platform-tools
И удостоверяясь, что сам adb указывал на новую версию, ошибки ушли.