ios下(個人公司非企業級)AdHoc在線安裝全環境配置 – iPhone手機開發技術文章 iPhone軟體開發教學課程

1,環境

客戶端開發:MacOs 10.8.5

服務器開發:Centos6.3 64位

2,軟件準備

Apache httpd 2.2.27

OpenSSL 0.9.8za

3,客戶端準備

Apple的開發者賬號大致分如下三類:個人,公司,企業,這一篇我們主要說下個人、公司的ipa在線安裝。個人公司級別的AdHoc有這樣一個限制:就是在線發佈的ipa包隻能安裝

在添加到Apple賬號的Devices列表中(發佈IPA之後再添加的設備需要重新打IPA包)的非越獄設備及越獄設備中,而企業級的開發者賬號則沒有這樣的限制。

首先在Xcode中我們把需要上傳的IPA打包出來,大致流程如下:

這一步需要將後續存放ipa的服務器路徑提前寫好, 會保存在對應的plist中。

保存之後應該會生成對應的ipa和plist文件,客戶端的準備導致完成。so easy!

4,服務器準備

a)安裝Z喎?/kf/ware/vc/” target=”_blank” class=”keylink”>vcGVuc3NsPC9wPgo8cD694tG5sr3W6DLW0M/C1Ni1xG9wZW5zc2yw/LKisLLXsDwvcD4KPHA+PC9wPgo8cD50YXIgenh2ZiBvcGVuc3NsLTAuOS44emEudGFyLmd6PGJyPgpjZCBvcGVuc3NsLTAuOS44emE8YnI+Ci4vY29uZmlnPGJyPgptYWtlPGJyPgptYWtlIGluc3RhbGw8YnI+CiN0YXIgenh2ZiBodHRwZC0yLjIuMjcudGFyLmd6PGJyPgpjZCBodHRwZC0yLjIuMjc8YnI+Ci4vY29uZmlndXJlIC0tcHJlZml4PS91c3IvbG9jYWwvYXBhY2hlL2h0dHBkIC0tZW5hYmxlLXNzbD1zdGF0aWMgLS13aXRoLXNzbD0vdXNyL2xvY2FsL3NzbDxicj4KbWFrZSA8YnI+Cm1ha2UgaW5zdGFsbDxjb2RlPjxicj4KPC9jb2RlPjxicj4KPC9wPgo8cD7V4sDvvavX7tDCT3BlblNTTLCy17C1vS91c3IvbG9jYWwvc3Ns1tCjrCCyu9PDwO274c+1zbPW0LXET3BlblNTTLDmsb6jrCDSsrK708PIpdC21Ni38dTyv8nE3Lvh0v3G8Mbky/vTptPDtcS07c7zoaM8L3A+CjxwPmIpsLLXsEFwYWNoZSBodHRwZDwvcD4KPHA+PC9wPgo8cD7Q3rjEL3Vzci9sb2NhbC9hcGFjaGUvaHR0cGQvY29uZi9odHRwZC5jb25m1tA8L3A+CjxwPiNJbmNsdWRlIGNvbmYvZXh0cmEvaHR0cGQtc3NsLmNvbmYgyKW19Meww+a1xCM8L3A+CjxwPtTaL3Vzci9sb2NhbC9hcGFjaGUvaHR0cGQgz8LWtNDQLi9iaW4vYXBhY2hlY3RsIHN0YXJ0ILOiytTG9LavYXBhY2hlo6zS8s6qv6rG9MHLc3Nsy/nS1Mb0tq+74cqnsNzM4cq+zeLD5tKqxeTWw9akyumhozwvcD4KPHA+YynJ+rPJ1qTK6TwvcD4KPHA+1NovdXNyL2xvY2FsL2FwYWNoZS9odHRwZC/Qwr2oc3NsxL/CvKOs08PT2rGjtObQwr2otcTWpMrpzsS8/qGjyLu682NkIHNzbDwvcD4KPHA+KDEp08NvcGVuc3Ns0aHU8XJzYbfHttSzxsvjt6i6zWRlczO21LPGvNPD3Mvjt6jAtNbG1/dDQdakyumjujwvcD4KPHByZSBjbGFzcz0=”brush:java;”>openssl genrsa -des3 -out my-ca.key 2048上面會生成一個密鑰長度2048位的密鑰,,保存在my-ca.key文件中,這個文件會要求你輸入個密碼,這個密碼後面用到這個文件時都會用到。

(2)然後使用x509標準簽署證書

openssl req -new -x509 -days 3650 -key my-ca.key -out my-ca.crt

上面這步生成瞭有效期10年的CA證書文件 my-ca.crt,這個過程會讓你填一些基本信息,比如國傢城市,公司名,網站名等等,因為是自簽署,隨便填就行瞭。

(3)現在有瞭CA證書瞭,就可以用它來為我們的網站頒發ssl證書瞭。同制作CA證書一樣,我們需要先為服務器生成密鑰對

openssl genrsa -des3 -out mars-server.key 2048

(4)生成瞭密鑰mars-server.key後,根據它生成csr證書文件

openssl req -new -key mars-server.key -out mars-server.csr

執行上述命令時同樣要輸入一些基本信息,這裡面要註意瞭Common Name的值要和你的域名一致,否則後面客戶端瀏覽器驗證域名不正確會不通過的。這裡我是局域網就填瞭局域網的ip,如果10.21.122.22, 因此如果你的局域網的主機的ip變瞭的話,就需要重新頒發下證書瞭。所以建議直接在路由或交換上把你的主機設置為固定ip.

(5)下面就用CA證書來簽署服務器證書瞭

openssl x509 -req -in mars-server.csr -out mars-server.crt -sha1 -CA my-ca.crt -CAkey my-ca.key -CAcreateserial -days 3650

到這裡,我們所需要的證書就完全做成瞭。下面需要做的就是部署到Apache裡面瞭。

(6)生成mars-server.key的過程中,可能對這個文件設置瞭密碼,如果直接部署,那麼以後啟動apache的時候都要輸入這個密碼,但是一般我們都開機自動啟動apache,手動啟動多麻煩啊,可以把這個文件轉換一下,省去輸入密碼步驟:

cd /etc/apache2/ssl
openssl rsa -in mars-server.key -out mars-server.key.insecure

d)Apache中配置證書
創建一個目錄放證書文件,如放在/etc/apache2/ssl下,包括3個文件,分別是:my-ca.crt mars-server.crt mars-server.key.

修改/usr/local/apache/httpd/conf/extra/httpd-ssl.conf如下:

httpsSSLEngine On
SSLCertificateFile /usr/local/apache/httpd/ssl/mars-server.crt
SSLCertificateKeyFile /usr/local/apache/httpd/sslmars-server.key.insecure
SSLCACertificateFile /usr/local/apache/httpd/ssl/my-ca.crt

切換到/usr/local/apache/httpd目錄下啟動服務器:

./bin/apache/apachectl start

瀏覽器中試試https://localhost/是不是可以訪問瞭~~

e)配置https下載相關

環境配置好之後就簡單瞭, 隻需要把待下載的資源放到指定目錄, 並修改https的根目錄下的index.html添加兩個下載的鏈接,簡單index.html如下,各位可以自由發揮:


    
    
        
    
    
    
        
            下載前請安裝此證書
        
        
            下載ios測試客戶端test
        
    

移動上述步驟創建的index.html、ipa、plist及ssl文件夾中的my-ca.crt到/usr/local/apache/httpd/htdocs目錄下,即可正常在線安裝。

註意:

1,第一次訪問網站進行在線安裝的設備需要先安裝ssl證書,也就是上述創建的my-ca.crt才可以正常安裝ipa,後續再研究下是否可以省略這一步。

2,為瞭兼容ios7.1上述index.html中items-services://中請使用https

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *