Поделитесь ссылкой с помощью WhatsApp

Я использовал этот код для обмена ссылкой на приложение в приложении, но ничего не приходит в текстовое поле WhatsApp. Если использовать простой текст, то это работает. Может кто подскажет конечный результат.

NSString *theTempMessage = @"whatsapp://send?text=https://itunes.apple.com/in/app/myapp/id1054375332?ls=1&mt=8";
NSString *theFinalMessage;

theTempMessage = [theTempMessage stringByReplacingOccurrencesOfString:@":" withString:@"%3A"];
theTempMessage = [theTempMessage stringByReplacingOccurrencesOfString:@"/" withString:@"%2F"];
theTempMessage = [theTempMessage stringByReplacingOccurrencesOfString:@"?" withString:@"%3F"];
theTempMessage = [theTempMessage stringByReplacingOccurrencesOfString:@"," withString:@"%2C"];
theTempMessage = [theTempMessage stringByReplacingOccurrencesOfString:@"=" withString:@"%3D"];
theFinalMessage = [theTempMessage stringByReplacingOccurrencesOfString:@"&" withString:@"%26"];

NSString * stringToSend=theFinalMessage;
NSURL *whatsappURL = [NSURL URLWithString:stringToSend];

if ([[UIApplication sharedApplication] canOpenURL: whatsappURL])

{
    [[UIApplication sharedApplication] openURL: whatsappURL];
}

person CJ IOS Developer    schedule 02.12.2015    source источник
comment
почему вы используете замену строки   -  person satheesh    schedule 02.12.2015


Ответы (2)


Добавьте это в свой Info.plist

<key>LSApplicationQueriesSchemes</key>
    <array>
        <string>whatsapp</string>
    </array>

Внедрите этот код в ViewController, где вам нужно открыть WhatsApp для обмена. (например, сказать действие кнопки) Обновление для быстрой версии 3 (Xcode 8.x): Обновлено для устаревания:

var str = "This is the string which you want to share to WhatsApp"
str=str.addingPercentEncoding(withAllowedCharacters: (NSCharacterSet.urlQueryAllowed))!
let whatsappURL = URL(string: "whatsapp://send?text=\(str)")
if UIApplication.shared.canOpenURL(whatsappURL) {
   UIApplication.shared.open(whatsappURL!, options: [:], completionHandler: nil)
} else {
   showAlert(message: "Whatsapp is not installed on this device. Please install Whatsapp and try again.")
}

Здесь showAlert() — это пользовательская функция для отображения предупреждения.

person Ankit Kumar Gupta    schedule 27.12.2016
comment
Поскольку openURL устарело в iOS 10, вместо этого вам нужно использовать openURL: UIApplication.shared.open(whatsappURL!, options: [:], completionHandler: nil) - person Felix; 05.03.2017
comment
Спасибо :) приятно поделиться - person Ankit Kumar Gupta; 06.03.2017
comment
Спасибо за ответ - person Nikhil Manapure; 05.03.2018

Если вы используете «[[UIApplication sharedApplication] openURL: whatsappURL];» после замены строки откроется браузер Safari, а не WhatsApp,

Если вы хотите открыть WhatsApp, не заменяйте строку

person satheesh    schedule 02.12.2015