У меня есть tableView, в котором есть ячейки с номерами телефонов. Однако приложение не набирает номера. Смотрите ниже кодПочему мои ссылки «tel:» не работают
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 2) {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSString *numberToDial = [NSString stringWithFormat:@"tel:%@", selectedCell.detailTextLabel.text];
NSLog(@"%@",numberToDial);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:numberToDial]];
}
}
Консольный поток вывода: 2010-03-08 01:32:30.830 AIB[1217:207] tel:01 8350098
Как вы можете видеть, количество переходит в консоль, но не получает набран. Странная вещь, если я изменить последнее заявление следующим образом:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:171"]];
телефон набирает номер 171 без какого-либо вопроса
решение моей конкретной проблемы, как предложено ниже, в удалите пробелы из телефонных номеров. Я добился этого следующим образом:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.section == 2) {
UITableViewCell *selectedCell = [tableView cellForRowAtIndexPath:indexPath];
NSMutableString *numberToDial = [NSMutableString stringWithFormat:@"tel:%@", selectedCell.detailTextLabel.text];
[numberToDial replaceOccurrencesOfString:@" "
withString:@""
options:NSLiteralSearch
range:NSMakeRange(0, [numberToDial length])];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:numberToDial]];
}
}