WebClip完成IOS的Wap封裝


title: WebClip完成IOS的Wap封裝

tags: WebClip,IOS

author : Clown95


背景

當(dāng)我們使用PC頻繁訪問(wèn)某一個(gè)網(wǎng)站的時(shí)候,大部分人的做法是創(chuàng)建一個(gè)書(shū)簽或者直接創(chuàng)建一個(gè)快捷方式。但是我們?cè)谑褂靡苿?dòng)設(shè)備的時(shí)候,好像并沒(méi)有創(chuàng)建桌面快捷方式這么一個(gè)功能,是不是只能使用書(shū)簽來(lái)訪問(wèn)呢?

又或者我們想要把我們的wap站點(diǎn)封裝成IOS應(yīng)用,直接使用IOS原生封裝開(kāi)發(fā)成本上升,使用第三方應(yīng)用封裝,基本上通過(guò)不了AppStore的審核,只能使用企業(yè)簽名才能讓用戶使用APP,這無(wú)疑使成本又增加,而且第三方提供的企業(yè)簽名經(jīng)常不穩(wěn)定,導(dǎo)致軟件無(wú)法使用造成用戶流失。

IOS為我們提供了WebClip的一個(gè)描述文件,它可以把我們的網(wǎng)站創(chuàng)建成桌面快捷方式,并且可以自定義圖標(biāo),幫我們省去打開(kāi)瀏覽器的步驟,當(dāng)然值得注意的是它只能調(diào)用Safari打開(kāi)網(wǎng)頁(yè)。

Tip: 現(xiàn)在簽名市場(chǎng)上說(shuō)的永不掉簽封裝,用的就是這個(gè)方法。

步驟

生成WebClip

前提條件是你有一個(gè)Mac或者你有一個(gè)Mac系統(tǒng),然后通過(guò)Appstore下載Apple Configurator 2,這個(gè)是蘋(píng)果官方提供的描述文件創(chuàng)建工具。

  1. 首先我們創(chuàng)建一個(gè)新的描述文件
image
  1. 我們先選擇通用選項(xiàng),來(lái)設(shè)置描述文件的一些基本信息
  • 名稱(chēng)為:描述文件設(shè)置名字,這個(gè)名字并不是快捷方式顯示的名字

  • 標(biāo)識(shí)符:我們直接使用默認(rèn)就行,這個(gè)相當(dāng)于軟件的身份證

  • 組織:描述文件創(chuàng)建者,或者網(wǎng)址擁有者

  • 描述:安裝描述文件時(shí)候顯示的介紹信息

image
  1. 我們鼠標(biāo)滾到最下面,找到WebClip選項(xiàng),這邊才是我們的重頭戲
  • 標(biāo)簽: 這個(gè)才是桌面顯示的名稱(chēng)

  • URL:這個(gè)填寫(xiě)我們需要?jiǎng)?chuàng)建快捷方式網(wǎng)站的地址

  • 可移除:選中它,我們就可以像刪除應(yīng)用一樣在桌面刪除它

  • 圖標(biāo):在桌面上顯示的圖標(biāo)

  • 全屏幕:網(wǎng)站是否全屏顯示,如果不勾選將會(huì)出現(xiàn)狀態(tài)欄,我們最好還是勾選下

image
  1. 設(shè)置完成我們保存描述文件,把它放到網(wǎng)站上,使他能夠訪問(wèn)下載,值得注意的是,我們只能通過(guò)Safari瀏覽器來(lái)訪問(wèn)它,否則安裝不了。

解決WebClip自動(dòng)跳轉(zhuǎn)Safari問(wèn)題

如果你開(kāi)始使用剛剛制作的描述文件,你是不是發(fā)現(xiàn)了一個(gè)很?chē)?yán)重的問(wèn)題?當(dāng)網(wǎng)站跳轉(zhuǎn)的時(shí)候,會(huì)自動(dòng)打開(kāi)Safari跳轉(zhuǎn)網(wǎng)站,并且會(huì)丟失之前的動(dòng)作,比如說(shuō)登錄狀態(tài),用戶體驗(yàn)極差。

現(xiàn)在我們就來(lái)解決這個(gè)問(wèn)題:

將下面代碼復(fù)制到每個(gè)網(wǎng)頁(yè)的<head >標(biāo)簽中,請(qǐng)務(wù)必確保所有網(wǎng)頁(yè)均寫(xiě)有此代碼。


<script>if(("standalone" in window.navigator) && window.navigator.standalone){

var noddy, remotes = false;

document.addEventListener('click', function(event) {

noddy = event.target;

while(noddy.nodeName !== "A" && noddy.nodeName !== "HTML") {

noddy = noddy.parentNode;

}

if('href' in noddy && noddy.href.indexOf('http') !== -1 && (noddy.href.indexOf(document.location.host) !== -1 || remotes)){

event.preventDefault();

document.location.href = noddy.href;

}

},false);

}</script>

Tip :使用此代碼簽請(qǐng)自行測(cè)試網(wǎng)站功能的完好性。

Q:代碼有什么作用?

A :此段代碼主要是阻止網(wǎng)頁(yè)喚起Iphone手機(jī)Safari瀏覽器

Q:添加代碼后描述文件需要重新生成嗎?

A :不需要生成

Q :代碼會(huì)對(duì)網(wǎng)站安全產(chǎn)生影響嗎?

A :不影響,代碼只是單純的阻止喚起瀏覽器。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類(lèi)型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,650評(píng)論 1 32
  • 做了一夜的夢(mèng) 累 夢(mèng)里跑了一夜 累
    夕美人閱讀 160評(píng)論 0 0
  • 昨天走了一萬(wàn)五,趣步忘登陸了,每天要求簽到登陸的太多了,手機(jī)內(nèi)存也告急了。 你若渴了,水便是天堂;你若累了,床便是...
    蝶心2018閱讀 179評(píng)論 0 0
  • 敬篤 時(shí)間里的狗,在瘋狂的撕咬著骨頭 黏附在表皮的瘦肉,像兩面膠一樣 不舍得骨肉分離,它是如此寂寞 沒(méi)有人敢搶食它...
    山谷小道士閱讀 242評(píng)論 0 2
  • 有人說(shuō)歲月是把殺豬刀,讓無(wú)數(shù)美顏?zhàn)儨嫔#灰灿腥苏f(shuō)歲月是把手術(shù)刀,讓無(wú)數(shù)人脫胎換骨變傾城??墒?,被歲月遺忘了又是一種...
    古蘊(yùn)閱讀 382評(píng)論 0 0

友情鏈接更多精彩內(nèi)容