This code works for me, hope it works for you too,
-(NSString*) formatPhoneNumber:(NSString *)phoneString{
NSString *phoneNumber = [[phoneString componentsSeparatedByCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]] componentsJoinedByString:@""];
switch (phoneNumber.length) {
case 7: return [NSString stringWithFormat:@"%@-%@", [phoneNumber substringToIndex:3], [phoneNumber substringFromIndex:3]];
case 10: return [NSString stringWithFormat:@"(%@) %@-%@", [phoneNumber substringToIndex:3], [phoneNumber substringWithRange:NSMakeRange(3, 3)],[phoneNumber substringFromIndex:6]];
case 11: return [NSString stringWithFormat:@"%@ (%@) %@-%@", [phoneNumber substringToIndex:1], [phoneNumber substringWithRange:NSMakeRange(1, 3)], [phoneNumber substringWithRange:NSMakeRange(4, 3)], [phoneNumber substringFromIndex:7]];
case 12: return [NSString stringWithFormat:@"+%@ (%@) %@-%@", [phoneNumber substringToIndex:2], [phoneNumber substringWithRange:NSMakeRange(2, 3)], [phoneNumber substringWithRange:NSMakeRange(5, 3)], [phoneNumber substringFromIndex:8]];
default: return [NSString stringWithFormat:@"(%@) %@-%@", [phoneNumber substringToIndex:3], [phoneNumber substringWithRange:NSMakeRange(3, 3)],[phoneNumber substringFromIndex:6]];
}
}