ios7.1 in-house app的發布方法


iOS7.1版本的in-house app必須發布到https站點才能下載安裝,原來的連接:

itms-services://?action=download-manifest&url=http://example.com/manifest.plist

需要修改為:

itms-services://?action=download-manifest&url=https://example.com/manifest.plist

可參見:

http://www.hanchorllc.com/2014/02/01/ios-7-1-requires-ad-hoc-installs-to-be-over-https/

 

方案1:將ipa文件和plist文件上傳到dropBox上,可參見:

http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22367111#22367111

方案2:購買第三方CA證書

方案3:使用openssl生成自簽名證書

 

現以apache_2.2.8作為web服務器為例說明方案3

1. 安裝並配置apache

  • 下載apache_2.2.8-win32-x86-openssl-0.9.8g.msi,這個版本自帶openssl,安裝后配置httpd.conf文件:
  • 去掉LoadModule ssl_module modules/mod_ssl.so前面的井號
  • 去掉Include conf/extra/httpd-ssl.conf前面的井號
  • 配置httpd-ssl.conf文件:
  • SSLSessionCache        "shmcb:D:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)"注釋掉,否則報錯:SSLSessionCache: Invalid argument: size has to be >= 8192 bytes

2. 生成證書

將文件openssl.cnf拷貝到bin目錄下,依次執行下列語句:

openssl genrsa -out server.key 1024

openssl req -new -key server.key -out server.csr -config openssl.cnf

openssl genrsa  -out ca.key 1024

openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  -config openssl.cnf 

openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf

 

如提示輸入Common Name,請輸入服務器IP或域名。最后一條指令執行前需要在bin目錄創建demoCA,里面創建文件夾newcerts和文件index.txt及serialindex.txt為空,serial內容為01

將生成的文件server.crtserver.key拷貝到D:\Program Files\Apache Group\Apache2\conf下面,這個位置可以在httpd-ssl.conf文件中修改

將.plist和.ipa文件拷貝到D:\Program Files\Apache Group\Apache2\htdocs,這個位置也可以在httpd-ssl.conf中修改,如果是http訪問方式則在httpd.conf中修改

3. 在設備上安裝app

ca.crt用郵件發送到設備,在設備上安裝后用Safari訪問

tms-services://?action=download-manifest&url=https://example.com/manifest.plist。實際情況下可以做一個html文件,把上述地址做出一個鏈接。

4. 注意

  • 如果安裝apahce后沒有自動生成windows服務,請執行bin目錄下的httpd命令,格式:

      httpd -k -install

  • 如果是較早的apahce版本,可能沒有這個命令,請執行:

      Apache -k install

  • apahce服務不能正常啟動,可在開始菜單找到-Apache HTTP Server 2.0-Configure Apache Server-Test Configuration,運行並查看結果,也可以在cmd下運行直接運行httpd。
  • http訪問的端在httpd.conf文件中設置(ctrl+f搜索808080
  • https訪問端口在httpd-ssl.conf文件中設置(ctrl+f搜索443

5. 參考

http://blog.csdn.net/zhaoxy_thu/article/details/21133399#reply

http://stackoverflow.com/questions/22411449/ios-7-1-ota-ssl-error

http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22367111#22367111

http://www.hanchorllc.com/2014/02/01/ios-7-1-requires-ad-hoc-installs-to-be-over-https/

http://hi.baidu.com/johnzhjfly/item/024b494104674ee91e19bc95


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM