乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      一步一步實(shí)現(xiàn)無(wú)線安裝iOS應(yīng)用(內(nèi)網(wǎng)OTA)

       sungkmile 2016-04-05
      OTA

      什么是OTA?


      OTA即Over-the-Air,是Apple在 iOS4 中新加的一項(xiàng)技術(shù),目的是讓開(kāi)發(fā)者能夠脫離Appstore,實(shí)現(xiàn)從自己的服務(wù)器下載并安裝iOS應(yīng)用。簡(jiǎn)單地說(shuō),就是用戶只需要在Safari中點(diǎn)開(kāi)一條鏈接,就能直接在主界面中安裝App。

      實(shí)現(xiàn)原理


      OTA方式安裝,是通過(guò)Safari解析鏈接中的“itms-services://”來(lái)實(shí)現(xiàn)的。

      例如:

      Iphone Download

      Safari會(huì)去讀取installIPA.plist中的信息,如:iOS應(yīng)用的名稱、版本、安裝地址等。

      實(shí)現(xiàn)方法


      1. 通過(guò)企業(yè)證書發(fā)布
      2. 通過(guò)個(gè)人證書發(fā)布(Ad_hoc)
      3. 直接安裝在越獄機(jī)器上

      這里我們只討論大家最常見(jiàn)的,用個(gè)人證書發(fā)布內(nèi)測(cè)版。

      實(shí)現(xiàn)步驟


      1
      2
      3
      4
      5
      6
      1. Xcode打包release版本
      2. 搭建本地Web服務(wù)器
      3. 開(kāi)啟HTTPS
      4. 編寫好對(duì)應(yīng)的.plist文件
      5. 上傳ipa、.plist、ca證書到Web服務(wù)器,配置好index.html
      6. 在手機(jī)上用Safari打開(kāi)鏈接,完成下載

      是不是很簡(jiǎn)單?OK, Let’s Start it!

      Xcode打包


      首先我們選擇好打包的證書,因?yàn)槭莾?nèi)測(cè)包,所以我們選擇Ad_hoc證書。

      選好證書后,輸出設(shè)備我們選擇iOS Device,然后在Product選項(xiàng)中,選擇Archive

      Xcode會(huì)出現(xiàn)一個(gè)信息框,我們選擇Export,然后在彈出框中選擇第二項(xiàng),點(diǎn)擊Next

      這時(shí)會(huì)彈出證書選擇框,我們需要選擇Ad_hoc證書,點(diǎn)擊Choose

      Xcode打包好后,會(huì)讓我們選擇保持路徑。這樣我們的iOS內(nèi)測(cè)包就已經(jīng)打包完成了。

      搭建Web服務(wù)器


      因?yàn)楸疚闹饕墙榻B怎么實(shí)現(xiàn)OTA的安裝,所以服務(wù)器搭建部分只做基本的指導(dǎo)(不過(guò)會(huì)詳細(xì)說(shuō)明怎么配置HTTPS),詳細(xì)搭建方法還請(qǐng)大家自行Google^_^。

      好吧,iOS開(kāi)發(fā)都是用的Mac OS X,而Mac OS X中正好自帶了Apache服務(wù),所以這里我們只需要簡(jiǎn)單的在終端中敲擊一行命令,就能啟動(dòng)Web服務(wù)了。

      sudo apachectl start

      這時(shí)我們?cè)跒g覽器中輸入http://127.0.0.1/,如果出現(xiàn)It Works!,那么恭喜你Web服務(wù)器啟動(dòng)成功。

      Web文件目錄是:“/Library/WebServer/Documents/”, 系統(tǒng)級(jí)根目錄默認(rèn)沒(méi)有開(kāi)啟目錄列表, 開(kāi)啟方法:編輯 “/etc/apache2/httpd.conf “文件。 搜索找到,按下列圖中紅框標(biāo)示處修改。DoucumentRoot可以改為任何路徑。

      httpd.conf文件

      開(kāi)啟HTTPS服務(wù)


      因?yàn)閕OS7.1以后,Apple不再支持HTTP方式的OTA,所以我們需要為Apache開(kāi)啟HTTPS。

      OpenSSL自制證書

      開(kāi)啟HTTPS的第一步,就是需要先生成ssl證書。

      • 生成服務(wù)器的私鑰
        mkdir /private/etc/apache2/ssl
        cd /private/etc/apache2/ssl
        sudo openssl genrsa -out server.key 1024
      • 生成簽署申請(qǐng)(Common Name必須為服務(wù)器的ip或域名)
        sudo openssl req -new -key server.key -out server.csr
      • 生成CA私鑰
        sudo openssl genrsa -out ca.key 1024
      • 用CA的私鑰產(chǎn)生CA的自簽署證書
        sudo openssl req -new -x509 -days 365 -key ca.key -out ca.crt
      • 創(chuàng)建demoCA
        demoCA里面創(chuàng)建文件index.txt和serial,serial內(nèi)容為01,index.txt為空,以及文件夾newcerts
        sudo openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

      這樣我們就生成了server.crt,server.key,ca.crt文件。將 server.crt,server.key配置到服務(wù)器上,我們存放的位置是“/private/etc/apache2/ssl/server.crt”,“/private/etc/apache2/ssl/server.key”, ca.crt放到文件根目錄中。

      配置Apache的SSL服務(wù)

      仍然是編輯/private/etc/apache2/httpd.conf這個(gè)文件,去掉下面三行前面的 ‘#’

      1
      2
      3
      LoadModule ssl_module libexec/apache2/mod_ssl.so
      Include /private/etc/apache2/extra/httpd-ssl.conf
      Include/private/etc/apache2/extra/httpd-vhosts.conf

      編輯/private/etc/apache2/extra/httpd-ssl.conf這個(gè)文件,去掉下面兩行前面的 ‘#’

      1
      2
      SSLCertificateFile "/private/etc/apache2/ssl/server.crt"
      SSLCertificateKeyFile "/private/etc/apache2/ssl/server.key"

      編輯/private/etc/apache2/extra/httpd-vhosts.conf這個(gè)文件,在‘NameVirtualHost*:80′后面添加:

      1
      NameVirtualHost *:443

      在文件末尾添加:

      1
      2
      3
      4
      5
      6
      7
      8
      <VirtualHost *:443>
          SSLEngine on
          SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
          SSLCertificateFile /private/etc/apache2/ssl/server.crt
          SSLCertificateKeyFile /private/etc/apache2/ssl/server.key
          ServerName 192.168.10.193
          DocumentRoot "/自己定義的路徑/"
      </VirtualHost>

      檢查配置,如果有問(wèn)題按照提示開(kāi)啟相應(yīng)服務(wù)即可。

      sudo apachectl configtest

      沒(méi)問(wèn)題后,重啟服務(wù)

      sudo apachectl restart

      這樣就可以用https訪問(wèn)我們的本地服務(wù)器了。

      編寫plist文件


      plist文件編寫很簡(jiǎn)單,網(wǎng)上有很多模板,我這里為大家提供常用的信息,里面很多地方可以更改為自己所需要的。

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      plist文件內(nèi)容如下:
      <?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>http://192.168.10.193/test.ipa</string>
                      </dict>
                  </array>
                  <key>metadata</key>
                  <dict>
                      <key>bundle-identifier</key>
                      <string>必須和打包的bundleidentifier一樣</string>
                      <key>bundle-version</key>
                      <string>版本號(hào)</string>
                      <key>kind</key>
                      <string>software</string>
                      <key>releaseNotes</key>
                      <string>v1(可以隨意填)</string>
                      <key>title</key>
                      <string>App名稱</string>
                  </dict>
              </dict>
          </array>
      </dict>
      </plist>

      添加配置信息


      我們把剛剛建好的plist文件(這里取名為installIPA.plist)、ipa包、ca證書放到Web服務(wù)器的文件目錄下,然后修改index.html中的內(nèi)容。
      (index.html內(nèi)容):

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www./1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>應(yīng)用名字</title>
      </head>
      <body>
      <h1 style="font-size:40pt">iOS應(yīng)用OTA安裝<h1/>
      <h1 style="font-size:40pt">
      <a title="iPhone" href="itms-services://?action=download-manifest&url=https://192.168.10.193/installIPA.plist">Iphone Download</a>
      <h1/>
      <a title="iPhone" href="http://192.168.10.193/ca.crt">ssl 證書安裝</a>
      <h1/>
      </body>
      </html>

      如果一切OK的話,我們?cè)跒g覽器打開(kāi)本地服務(wù)器地址,會(huì)出現(xiàn)如下內(nèi)容:

      OTA安裝


      是的,到了最激動(dòng)人心的時(shí)候了,我們用iphone打開(kāi)瀏覽器,輸入本地服務(wù)器的地址,首先選擇ssl證書安裝, 然后再點(diǎn)擊Iphone Download,哈哈,是不是已經(jīng)彈出對(duì)話框詢問(wèn)需要安裝了??

      沒(méi)錯(cuò),這時(shí)點(diǎn)擊安裝即可快速地實(shí)現(xiàn)OTA下安裝App了!

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多