как запустить текстовое приложение для iphone sms в target-c по схеме sms: url? - PullRequest
0 голосов
/ 29 января 2010

У меня есть кнопка в моем приложении obj-c, которую я хотел бы запускать текстовое приложение iphone при нажатии кнопки.

Я посмотрел на решение здесь Как использовать схемы пользовательских URL-адресов iPhone и прикрепил действие к моей кнопке (с помощью события «touch up inside»), но текстовое приложение не запустить при нажатии кнопки.

вот мой код

(IBAction)sendMsgBtnPressed:(id)sender {

    NSLog(@"sendMsgBtnPressed");

    NSString *stringURL = @"sms:+14155551212";
    NSURL *url = [NSURL URLWithString:stringURL];
    [[UIApplication sharedApplication] openURL:url];

    [stringURL release];
}

Я знаю, что это вызывается, потому что я вижу вывод NSLog () в моей консоли. Когда я использую схему http: //, она работает нормально и запускает Safari, но sms: не работает. Есть идеи, что мне здесь не хватает?

Ответы [ 3 ]

7 голосов
/ 29 января 2010

Попробуйте удалить начальный знак плюс перед цифрами в вашем URL. Знак плюс используется для международных номеров, и вы можете смело заменить его двумя ведущими нулями. Кроме того, обязательно укажите строку, в которой между числами не должно быть пробелов: что-то вроде

NSString *stringURL = @"sms:00141555 51212"; НЕ будет работать правильно.

Еще одна вещь. Заявление

[stringURL release];

неверно, потому что stringURL не сохраняется. Вы должны удалить его из вашего метода.

5 голосов
/ 29 января 2010

Обратите внимание, что приложение SMS будет открыто ТОЛЬКО на устройстве iPhone - не на симуляторе и не на iPod Touch.

Приложение SMS не существует на симуляторе и iPod Touch ...

2 голосов
/ 30 января 2010

Вы также можете проверить, может ли устройство вызывать приложение SMS с помощью

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