iOS - 實(shí)現(xiàn)WhatsApp分享

分享 WhatsApp 的官方文檔鏈接點(diǎn) 這里猎唁。

分享 WhatsApp 不需要添加任何的 SDK 缺前,正因?yàn)槿绱耍窒斫涌谑褂闷饋?lái)不那么的方便著摔。

一、Custom URL Scheme

WhatsApp 有自定義分享接口定续,可以直接跳進(jìn) WhatsApp 內(nèi)谍咆,但只限于分享文字。
將下面的代碼添加到你的分享方法中:

    NSString *msg = @"YOUR MSG";
    NSString *url = [NSString stringWithFormat:@"whatsapp://send?text=%@", [msg stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLHostAllowedCharacterSet]]];
    NSURL *whatsappURL = [NSURL URLWithString: url];
    if ([[UIApplication sharedApplication] canOpenURL: whatsappURL]) {
        [[UIApplication sharedApplication] openURL: whatsappURL];
    } else {
        // Cannot open whatsapp
    }

是不是發(fā)現(xiàn)還不能順利進(jìn)行分享私股,并且打印如下信息:


別著急摹察,那是因?yàn)槟愕捻?xiàng)目里面沒有添加允許訪問 WhatsApp 的名單,打開你的 info.plist 文件倡鲸,添加下面內(nèi)容:



** 或者 ** 將 info.plist 以 Source Code 方式打開供嚎,添加以下代碼:

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

這下是不是完美分享出去啦,O(∩_∩)O哈哈哈峭状!

二克滴、Share Extension

其他類型的數(shù)據(jù)就只能通過(guò) Share Extension 的方式分享了,各種分享方式分別為:

Introduced in iOS 8.0, Share Extension provides a convenient way for any app to share content with other applications installed on user's iPhone. 
This is now the preferred way of sharing your content onto WhatsApp.
This is as simple as creating an instance of UIActivityViewController and presenting it in your app. 
WhatsApp accepts the following types of content:

- text (UTI: public.plain-text)
- photos (UTI: public.image)
- videos (UTI: public.movie)
- audio notes and music files (UTI: public.audio)
- PDF documents (UTI: com.adobe.pdf)
- contact cards (UTI: public.vcard)
- web URLs (UTI: public.url)

下面我來(lái)以分享圖片為例:
直接上代碼:
** -- in .h file **

<UIDocumentInteractionControllerDelegate>
@property (retain) UIDocumentInteractionController * documentInteractionController;

-- in .m file

    if ([[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"whatsapp://app"]]){
        UIImage *iconImage = [UIImage imageNamed:@"discover_picture"];
        NSString *savePath  = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/whatsAppTmp.wai"];
        
        [UIImageJPEGRepresentation(iconImage, 1.0) writeToFile:savePath atomically:YES];
        
        _documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:savePath]];
        _documentInteractionController.UTI = @"net.whatsapp.image";
        _documentInteractionController.delegate = self;
        [_documentInteractionController presentOpenInMenuFromRect:CGRectZero inView:self.view animated: YES];
    } else {
        UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:@"whatsapp not installed." preferredStyle:UIAlertControllerStyleAlert];
        UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleCancel handler:nil];
        [alertController addAction:cancelAction];
        
        [self.navigationController presentViewController:alertController animated:YES completion:nil];
    }

關(guān)于 WhatsApp 的分享就以上內(nèi)容宁炫,有錯(cuò)誤的地方偿曙,歡迎指正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羔巢,一起剝皮案震驚了整個(gè)濱河市望忆,隨后出現(xiàn)的幾起案子罩阵,更是在濱河造成了極大的恐慌,老刑警劉巖启摄,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稿壁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡歉备,警方通過(guò)查閱死者的電腦和手機(jī)傅是,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蕾羊,“玉大人喧笔,你說(shuō)我怎么就攤上這事」暝伲” “怎么了书闸?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)利凑。 經(jīng)常有香客問我浆劲,道長(zhǎng),這世上最難降的妖魔是什么哀澈? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任牌借,我火速辦了婚禮,結(jié)果婚禮上割按,老公的妹妹穿的比我還像新娘膨报。我一直安慰自己,他們只是感情好哲虾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布丙躏。 她就那樣靜靜地躺著,像睡著了一般束凑。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上栅盲,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天汪诉,我揣著相機(jī)與錄音,去河邊找鬼谈秫。 笑死扒寄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拟烫。 我是一名探鬼主播该编,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼硕淑!你這毒婦竟也來(lái)了课竣?” 一聲冷哼從身側(cè)響起嘉赎,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎于樟,沒想到半個(gè)月后公条,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迂曲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年靶橱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片路捧。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡关霸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出杰扫,到底是詐尸還是另有隱情谒拴,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布涉波,位于F島的核電站英上,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏啤覆。R本人自食惡果不足惜苍日,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窗声。 院中可真熱鬧相恃,春花似錦、人聲如沸笨觅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)见剩。三九已至杀糯,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苍苞,已是汗流浹背固翰。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留羹呵,地道東北人骂际。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像冈欢,于是被迫代替她去往敵國(guó)和親歉铝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容