Как сказал @bentford, кто-то может потерпеть неудачу, потому что симулятор отображает предупреждение, когда вы пытаетесь нажать на телефон в приложении контактов, это просто предупреждение, которое генерируется, потому что приложение проверяет, действительно ли tel:
Протокол поддерживается на устройстве или нет.
В дополнение к тому, что он пишет, вы также можете добавить поддержку для экранирования любых специальных символов или пробелов, как в:
NSString *phoneStr = [NSString stringWithFormat:@"tel:%@",[self.contactDetails objectForKey:@"phone"]];
NSString *escaped = [phoneStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]];
Надеюсь, это поможет.
Приветствие.