實(shí)現(xiàn)iOS局域網(wǎng)內(nèi)打包,一鍵安裝證書和內(nèi)測(cè)App

實(shí)現(xiàn)iOS局域網(wǎng)內(nèi)打包颈畸,一鍵安裝證書和內(nèi)測(cè)App

使用apache開啟https功能乌奇,使用Mac終端命令處理

一、生成證書

1. 進(jìn)入apache web根目錄處理證書命令眯娱;

cd /Library/WebServer/Documents

可以在Documents目錄下創(chuàng)建一個(gè)文件夾礁苗,用于存放證書、ipa包徙缴、plist文件和html文件试伙;用命令:sudo mkdir iOS 創(chuàng)建一個(gè)名為iOS的文件夾,終端輸入:cd iOS進(jìn)入該文件夾,接下來(lái)是生成秘鑰疏叨、生成簽署申請(qǐng)吱抚、生成服務(wù)器私鑰和生成給網(wǎng)站服務(wù)器簽署的證書。

接下來(lái)的操作都是在iOS文件夾下考廉,使用終端命令完成:

(1)生成秘鑰:輸入sudo openssl genrsa -des3 -out app.key 1024

Generating RSA private key, 1024 bit long modulus

.....++++++

.........++++++

e is 65537 (0x10001)

Enter pass phrase for app.key:[這里是輸入密碼]

Verifying - Enter pass phrase for app.key:[這里再次輸入密碼確認(rèn)]

(2)生成簽署申請(qǐng):輸入 sudo openssl req -new -key app.key -out app.csr

Enter pass phrase for app.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN[這里是國(guó)家秘豹,CN中國(guó)]

State or Province Name (full name) [Some-State]:Zhejiang[這里是省份,城市昌粤,隨意輸入]

Locality Name (eg, city) []:hangzhou[這里是城市既绕,隨意輸入]

Organization Name (eg, company) [Internet Widgits Pty Ltd]:zsyx[這里是公司,隨意輸入]

Organizational Unit Name (eg, section) []:zsyx[這里是組織名稱涮坐,隨意輸入]

Common Name (e.g. server FQDN or YOUR name) []:192.168.2.1[這個(gè)必須填正確凄贩,是你的服務(wù)器的域名,或者ip]

Email Address []:123456@163.com[這里是我的郵箱]

please enter the following 'extra'attributes

to be sent with your certificate request

A challenge password []:123456[這里是密碼]

An optional company name []:zsw[這里是名字]

(3)生成服務(wù)器的私鑰:輸入sudo openssl rsa -in app.key -out server.key

Enter pass phrase for app.key:[這里輸入密碼]

writing RSA key

(4)生成給網(wǎng)站服務(wù)器簽署的證書:輸入sudo openssl req -new -x509 -days 3650 -key server.key -out server.crt

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Country Name (2 letter code) [AU]:CN

State or Province Name (full name) [Some-State]:hangzhou

Locality Name (eg, city) []:hangzhou

Organization Name (eg, company) [Internet Widgits Pty Ltd]:hz ltd

Organizational Unit Name (eg, section) []:rh

Common Name (e.g. server FQDN or YOUR name) []:192.168.2.1[這個(gè)必須填正確袱讹,是你的服務(wù)器的域名疲扎,或者ip,必須和上面輸入的一致]

Email Address []:zhu410289616@163.com

(5)輸入sudo cp server.* /etc/apache2/

(6)測(cè)試配置是否成功:輸入sudo apachectl configtest

Syntax OK

(7)重啟apache:輸入 sudo apachectl restart

2.apache開啟ssl功能

(1)終端輸入:cd /etc/apache2/? 進(jìn)入該目錄下編輯httpd.conf文件(/etc/apache2/httpd.conf和/private/etc/apache2/httpd.conf其實(shí)是同一個(gè)內(nèi)容)

? ? 終端輸入:sudo vi httpd.conf? 刪除以下四行內(nèi)容前面的“#”

? LoadModule ssl_module libexec/apache2/mod_ssl.so

? Include /etc/apache2/extra/httpd-ssl.conf

? Include /etc/apache2/extra/httpd-vhosts.conf

? LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so

并且查看ServerName是不是指向 127.0.0.1:80 或者www.example.com:80

(2)終端輸入:cd /etc/apache2/extra/ 進(jìn)入該目錄下編輯httpd-ssl.conf文件

? ? 終端輸入:sudo vi httpd-ssl.conf 刪除以下兩行內(nèi)容前面的“#”

? ? SSLCertificateFile "/etc/apache2/ssl/server.crt"?

? ? SSLCertificateKeyFile "/etc/apache2/ssl/server.key"

說明:SSLCertificateFile "/etc/apache2/ssl/server.crt"和 SSLCertificateKeyFile "/etc/apache2/ssl/server.key"在你的Mac上可能會(huì)顯示:SSLCertificateFile "/private/etc/apache2/server.crt"和SSLCertificateKeyFile "/private/etc/apache2/server.key"捷雕,反正我的電腦上是這樣顯示的椒丧,不用多做修改,只需刪除前面的“#”即可

(3)同樣在extra文件夾下救巷,編輯httpd-vhosts.conf文件

? ? 終端輸入:sudo vi httpd-vhosts.conf?

該文件內(nèi)容里會(huì)包含兩個(gè)<VirtualHost *:80> ... </VirtualHost>壶熏,需要在第二個(gè)后面再加一個(gè) :

<VirtualHost *:80>

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile /etc/apache2/server.crt

SSLCertificateKeyFile /etc/apache2/server.key

ServerName 192.168.2.1[這個(gè)必須填正確,是你的服務(wù)器的域名浦译,或者ip棒假,必須和上面輸入的一致]

DocumentRoot "/Library/WebServer/Documents"

</VirtualHost>

這樣就已經(jīng)配置完成了,運(yùn)行sudo apachectl configtest命令精盅,檢查配置帽哑。

Syntax OK 代表成功

可以重啟服務(wù)器? sudo apachectl restart

到這里服務(wù)器就已經(jīng)支持ssl了,可以打開瀏覽器訪問https://192.168.2.1/iOS叹俏,頁(yè)面會(huì)顯示:It Works 表示已經(jīng)配置成功妻枕。

說明:https://192.168.2.1/iOS表示訪問的是你服務(wù)器的iOS文件夾,可以使用快捷鍵 cmd+shift+G 前往文件夾她肯,輸入:/Library/WebServer/Documents佳头,可以看到你創(chuàng)建的iOS文件夾,該文件夾下可以看到剛剛配置的證書晴氨。

二康嘉、創(chuàng)建plist文件、html文件

1.創(chuàng)建plist文件

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>items</key>

<array>

<dict>

<key>assets</key>

<array>

<dict>

<key>kind</key>

<string>software-package</string>

<key>url</key>

<string>https://192.168.2.1/iOS/app.ipa </string>? (說明:你的服務(wù)器地址下的ipa文件)

</dict>

<dict>

<key>kind</key>

<string>display-image</string>

<key>needs-shine</key>

<true/>

<key>url</key>

<string>https://192.168.2.1/iOS/app.png</string> (說明:可以隨意放一張圖片)

</dict>

</array>

<key>metadata</key>

<dict>

<key>bundle-identifier</key>

<string>com.ipeaksoft.pitDadGame</string> (說明:項(xiàng)目的bundle id)

<key>bundle-version</key>

<string>2.1.0</string>(說明:項(xiàng)目版本號(hào))

<key>kind</key>

<string>software</string>

<key>title</key>

<string>內(nèi)測(cè)ipa</string>(說明:這個(gè)隨意輸入)

</dict>

</dict>

</array>

</dict>

</plist>

2.創(chuàng)建html文件(index.html)

<!DOCTYPE HTML>

<html lang-"en">

<meta charset="UTF-8">

<head>

<title>app內(nèi)測(cè)</title>

</head>

<body>

<h1 align="center">安裝app內(nèi)測(cè)版本</h1>

<br/>

<br/>

<p align="center">說明:必須先安裝證書籽前,再點(diǎn)擊安裝app</p>

<br/>

<br/>

<div style=font-size:25px align="center">

? <font color="blue">

? <a >1.安裝證書</a>

? </font>

</div>

<br/>

<br/>

<div style=font-size:25px align="center">

? <font color="blue">

<a href="itms-services://?action=download-manifest&url=https://192.168.2.1/iOS/app.plist">2.安裝app</a>

? </font>

</div>

</body>

</html>

3.打包ipa亭珍,收集需要測(cè)試的設(shè)備UDID創(chuàng)建adhoc證書敷钾,打包ipa文件

最后將創(chuàng)建好的plist、html和ipa包導(dǎo)入你的服務(wù)器中的iOS文件夾下肄梨;

cmd+shift+G前往文件夾阻荒,輸入:/Library/WebServer/Documents,將文件導(dǎo)入iOS文件夾里即可众羡。

safari瀏覽器訪問:https://192.168.2.1/iOS/index.html 即可實(shí)現(xiàn)一件安裝app內(nèi)測(cè)包侨赡。

中途遇到的坑:安裝了證書后,再點(diǎn)擊安裝ipa時(shí)粱侣,如果提示“無(wú)法連接到192.168.2.1”這個(gè)ip地址羊壹,這個(gè)坑真的讓我很無(wú)奈,搞了一下午齐婴,adhoc文件配了又配油猫,以為是UDID沒有加上去,欲哭無(wú)淚柠偶,最后無(wú)意中點(diǎn)擊“設(shè)置->通用->關(guān)于本機(jī)->證書信任設(shè)置”情妖,看到192.168.2.1這一項(xiàng)沒有打開,(MMP)诱担。好了毡证,這個(gè)真的有點(diǎn)腦殘了,希望你們不要遇到這樣的坑8秒取G橹瘛!

結(jié)語(yǔ):第一次寫文章匀哄,也是借鑒大神寫的這篇內(nèi)容,有不足之處還望指出雏蛮,正在努力學(xué)習(xí)中涎嚼,覺得有用的同學(xué)可以點(diǎn)個(gè)贊哦,一起學(xué)習(xí)挑秉,一起成長(zhǎng)法梯!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市犀概,隨后出現(xiàn)的幾起案子立哑,更是在濱河造成了極大的恐慌,老刑警劉巖姻灶,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件铛绰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡产喉,警方通過查閱死者的電腦和手機(jī)捂掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門敢会,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人这嚣,你說我怎么就攤上這事鸥昏。” “怎么了姐帚?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵吏垮,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我罐旗,道長(zhǎng)膳汪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任尤莺,我火速辦了婚禮旅敷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘颤霎。我一直安慰自己媳谁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布友酱。 她就那樣靜靜地躺著晴音,像睡著了一般。 火紅的嫁衣襯著肌膚如雪缔杉。 梳的紋絲不亂的頭發(fā)上锤躁,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音或详,去河邊找鬼系羞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛霸琴,可吹牛的內(nèi)容都是我干的椒振。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼梧乘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼澎迎!你這毒婦竟也來(lái)了戏锹?” 一聲冷哼從身側(cè)響起灌闺,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎哀军,沒想到半個(gè)月后仁堪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哮洽,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年枝笨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了袁铐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片揭蜒。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖剔桨,靈堂內(nèi)的尸體忽然破棺而出屉更,到底是詐尸還是另有隱情,我是刑警寧澤洒缀,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布瑰谜,位于F島的核電站,受9級(jí)特大地震影響树绩,放射性物質(zhì)發(fā)生泄漏萨脑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一饺饭、第九天 我趴在偏房一處隱蔽的房頂上張望渤早。 院中可真熱鬧,春花似錦瘫俊、人聲如沸鹊杖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骂蓖。三九已至,卻和暖如春川尖,著一層夾襖步出監(jiān)牢的瞬間登下,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工叮喳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留被芳,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓馍悟,卻偏偏與公主長(zhǎng)得像筐钟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赋朦,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

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

  • 我們經(jīng)常性的需要使用局域網(wǎng)搭建 Web 服務(wù)器測(cè)試環(huán)境,如部署局域網(wǎng)無(wú)線安裝企業(yè)應(yīng)用等李破,Mac OS X 自帶了 ...
    大詩(shī)兄_zl閱讀 1,686評(píng)論 0 2
  • 我們經(jīng)常性的需要使用局域網(wǎng)搭建 Web 服務(wù)器測(cè)試環(huán)境宠哄,如部署局域網(wǎng)無(wú)線安裝企業(yè)應(yīng)用等,Mac OS X 自帶了 ...
    小白不是總閱讀 55,436評(píng)論 24 134
  • 親愛的妹妹嗤攻, 今天你真的很棒哦毛嫉,下午媽媽接到外婆的微信來(lái)問我你今天的作業(yè),我就知道在習(xí)慣的培養(yǎng)上你又進(jìn)步了妇菱。 從前...
    helenxxf閱讀 302評(píng)論 0 0
  • 思念——家鄉(xiāng) 不知道什么時(shí)候承粤,我們?cè)阶咴竭h(yuǎn)暴区,遠(yuǎn)得忘記了小時(shí)候的樣子,遠(yuǎn)得忘記了母親年輕時(shí)美麗的模樣辛臊,遠(yuǎn)得忘記了回...
    云兒的天空之城閱讀 163評(píng)論 0 0