Быстрая отправка сообщений в мессенджеры

Бывает, надо сделать кнопку «Поделиться» для определенного мессенджера. Самый быстрый способ — это url-схемы. Можно просто вызвать [[UIApplicationsharedApplication] openURL:url]; для правильно сконфигурированной ссылки и установленный на телефоне мессенджер примет переданный текст для дальнейшей обработки.

Сейчас покажу, как это сделать для WhatsApp, Viber и Telegram.Для начала определим формат сообщения. Пусть это будет текст и ссылка:

Найти формат url для каждого приложения не составляет труда. Обычно справку публикуют на официальном сайте, например, так выглядит справка WhatsApp.

Как видно, для подстроки с содержимым необходимо экранировать символы.

В Foundation есть набор методов для обработки строк. Возьмем метод -stringByAddingPercentEncodingWithAllowedCharacters: и набор символов [NSCharacterSetURLQueryAllowedCharacterSet] . Но есть один нюанс, раз у нас в подстроке содержится shareUrl, то нужно из набора изъять некоторые символы: [setremoveCharactersInString:@":/?&="]

Теперь просто соберем всё части вместе:

И итоговый метод может выглядеть так:

Планировщик сообщений в WhatsApp Plus

Для чего это может понадобиться?

Либо при походе в магазин отправить список с продуктами, а поход запланирован на завтра, то воспользовавшись данной функцией в Ватсапп плюс, будучи в магазине ваш любимый или родственник получит список и будет вовремя прочтен.

Итак как же это работает?

Источники