Приложение UIA не запускается, чтобы позвонить - PullRequest
2 голосов
/ 12 апреля 2011

У меня есть этот код:

NSString *telURL = [NSString stringWithFormat:@"tel:1-%@",((UIButton*) sender).titleLabel.text];
telURL = [telURL stringByReplacingOccurrencesOfString:@"\n" withString:@""];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telURL]];

Но он не запускает приложение для набора номера, чтобы сделать телефонный звонок.

Я проверил строку telURL и ее содержимое: "тел: [УДАЛЕНО] ", что, на мой взгляд, и должно быть.

Любые идеи?

РЕДАКТИРОВАТЬ: В случае, если это имеет значение, я только что выполнил это натренажер.У меня не будет физического устройства в течение нескольких дней.(И из ответов ниже, по-видимому, это имеет значение)

Ответы [ 3 ]

12 голосов
/ 12 апреля 2011

Вы ответили на свой вопрос. URL tel: не работает на симуляторе iPhone и iPod Touch (и iPad, конечно). Он работает только на iPhone.

3 голосов
/ 12 апреля 2011

Это важно. В симуляторе нет телефонного приложения. И попытка открыть телефонный URL на устройстве (iPod touch, симулятор), у которого нет приложения, просто молча терпит неудачу.

Хотя ваше форматирование правильное.

1 голос
/ 12 апреля 2011

Во-первых, просто проверьте, что вы работаете на оборудовании, которое включает телефон (не iPod touch), а не симулятор, верно? Симулятор не позволит вам проверить это.

Простой способ избавиться от пробелов в вашем номере телефона:

NSString *phoneURLString = [[self.phoneNumber componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] componentsJoinedByString: @""];

Также вы должны программно проверить, может ли устройство (или симулятор) обрабатывать URL. Простой способ проверить это с помощью canOpenURL:

[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:yourPhoneNumberStringHere]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...