輕松獲取網(wǎng)頁的更多基本信息(LinkPresentation.framework) — Embedding and Sharing Visually Rich Links

linkf-000@2x.png

網(wǎng)頁中其實(shí)包含了很多信息浴捆,能否輕易獲取這些信息內(nèi)容呢蒜田?
最近翻看開發(fā)文檔,看到一個(gè)iOS13開始新推出的關(guān)于web的功能汤功,LinkPresentation.framework物邑,然后加入工程溜哮,調(diào)用了下滔金,發(fā)現(xiàn)還挺有用的。


linkf-00@2x.png

Apple的官方說明視頻茂嗓,可以查看這里
https://developer.apple.com/videos/play/wwdc2019/262/

來簡單使用下LinkPresentation

1餐茵、把庫引入工程
linkf-01@2x.png
2、然后可以查看下庫內(nèi)文件內(nèi)容述吸,其實(shí)內(nèi)容比較少忿族,可以很方便的理解。

主要就是4塊內(nèi)容
LPError.h
LPLinkMetadata.h
LPLinkView.h
LPMetadataProvider.h
其中能夠被我們以后能夠常用到的就是LPMetadataProvider對象蝌矛。


linkf-02@2x.png
3道批、創(chuàng)建了一個(gè)LPLinkView,然后看下效果入撒。鏈接我用的是知乎的首頁隆豹,看看能夠看到什么效果。
- (void)createLPView:(LPLinkMetadata *)metadata{
    
    _lp_view = [[LPLinkView alloc]initWithMetadata:metadata];
    [self.view addSubview:_lp_view];
    
    [_lp_view mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(@100);
        make.width.equalTo(@200);
        make.height.equalTo(@400);
        make.centerX.equalTo(self.view);
    }];
    
}

- (void)showLP{
    
    LPMetadataProvider *prov = [LPMetadataProvider new];
    [prov startFetchingMetadataForURL:[NSURL URLWithString:@"https://www.zhihu.com"] completionHandler:^(LPLinkMetadata * _Nullable metadata, NSError * _Nullable error) {
        dispatch_async(dispatch_get_main_queue(), ^{
           [self createLPView:metadata];
        });
    }];
    
}

4茅逮、模擬器跑出來的效果璃赡,按住LPLinkView,有一個(gè)浮層的效果献雅,下面是一些更多選項(xiàng)碉考。
Simulator Screen Shot - iPhone 11 Pro - 2020-04-21 at 17.37.34.png

Simulator Screen Shot - iPhone 11 Pro - 2020-04-21 at 17.37.50.png
5、然后打印下metadata信息挺身,可以獲得當(dāng)前網(wǎng)頁的各種信息侯谁。
linkf-05@2x.png

這些信息可以保存,可以處理,可以分析墙贱,可以各種喜歡的處理把介。

幾點(diǎn)注意

  • 1撕蔼、LinkPresentation的實(shí)現(xiàn)原理
    根據(jù)后臺打印的log和蘋果官方視頻的介紹,其實(shí)是創(chuàng)建了一個(gè)WKWebView的實(shí)例,去請求加載網(wǎng)頁內(nèi)容机杜,獲取相應(yīng)的信息。
    其實(shí)是對WKWebView拓展應(yīng)用羡疗,相對來說資源耗費(fèi)還是挺大的挺物。

  • 2、LPMetadataProvider對象必須是在主線程中調(diào)用
    它的返回completionHandler是在異步線程中纺棺,如果是一些UI操作榄笙,需要切換到主線程
    LPMetadataProvider的每一個(gè)實(shí)例只能請求一次,若再次請求祷蝌,需要?jiǎng)?chuàng)建新的實(shí)例茅撞。一個(gè)實(shí)例多次請求會發(fā)生錯(cuò)誤。

  • 3巨朦、如果是Mac OS 應(yīng)用
    必須具有com.apple.security.network.client權(quán)限米丘,以便能夠?qū)h(yuǎn)程url使用LPMetadataProvider。

  • 4糊啡、LPLinkMetadata
    LPLinkMetadata數(shù)據(jù)可以自己創(chuàng)建拄查,自己賦值使用。LPLinkMetadata支持NSSecureCoding棚蓄,可以直接保存堕扶。

  • 5、LPLinkView
    LPLinkView創(chuàng)建后的frame可以sizeToFit梭依,建議是自己設(shè)定稍算。

以上便是LinkPresentation.framework的一個(gè)簡單的調(diào)用,若是應(yīng)用中需要跳轉(zhuǎn)網(wǎng)頁役拴,獲取網(wǎng)頁的一些信息糊探,在iOS13之后便可以用這個(gè)類庫,還是很方便的扎狱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末侧到,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子淤击,更是在濱河造成了極大的恐慌匠抗,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件污抬,死亡現(xiàn)場離奇詭異汞贸,居然都是意外死亡绳军,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門矢腻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來门驾,“玉大人,你說我怎么就攤上這事多柑∧淌牵” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵竣灌,是天一觀的道長聂沙。 經(jīng)常有香客問我,道長初嘹,這世上最難降的妖魔是什么及汉? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮屯烦,結(jié)果婚禮上坷随,老公的妹妹穿的比我還像新娘。我一直安慰自己驻龟,他們只是感情好温眉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著迅脐,像睡著了一般芍殖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上谴蔑,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機(jī)與錄音龟梦,去河邊找鬼隐锭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛计贰,可吹牛的內(nèi)容都是我干的钦睡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼躁倒,長吁一口氣:“原來是場噩夢啊……” “哼荞怒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起秧秉,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤褐桌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后象迎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荧嵌,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呛踊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了啦撮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谭网。...
    茶點(diǎn)故事閱讀 40,040評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赃春,靈堂內(nèi)的尸體忽然破棺而出愉择,到底是詐尸還是另有隱情,我是刑警寧澤织中,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布薄辅,位于F島的核電站,受9級特大地震影響抠璃,放射性物質(zhì)發(fā)生泄漏站楚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一搏嗡、第九天 我趴在偏房一處隱蔽的房頂上張望窿春。 院中可真熱鬧,春花似錦采盒、人聲如沸旧乞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尺栖。三九已至,卻和暖如春烦租,著一層夾襖步出監(jiān)牢的瞬間延赌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工叉橱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留挫以,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓窃祝,卻偏偏與公主長得像掐松,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子粪小,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評論 2 355

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

  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,208評論 0 3
  • 以前我們說堅(jiān)持大磺,現(xiàn)在說死磕。好吧探膊,我更喜歡后面的說法杠愧,接地氣兒。 今日的文章圖片選擇橙子有兩個(gè)原因突想,第一殴蹄,橙色給人...
    八月淡魚閱讀 373評論 0 0
  • 今天多云究抓,天空灰蒙蒙的,想必接下來幾天是陰雨連綿了袭灯。 不知道南京的天氣如何刺下,不會比泗洪好哪里去吧。離開才能體會家的...
    愛喝酸奶的妞妞啊閱讀 57評論 0 1
  • 姜太公直到70歲整天垂釣于渭水稽荧,終于遇到周文公橘茉,從此英雄有了用武之地。 64歲的黃忠跟隨劉備入川姨丈,表現(xiàn)突出畅卓,勇冠三...
    jschenfeng閱讀 282評論 0 0