開發 IOS app 不通過 蘋果商店安裝的幾種方式

原文:http://my.oschina.net/wex5/blog/420931

開發App,蘋果App少不了。不過,蘋果商店的審覈確實太煩,更新也費勁。

一、IOS App不通過蘋果商店,有幾種辦法可以完成安裝?

    不通過蘋果商店安裝蘋果app(即ipa)的方法較爲複雜;如果是非越獄的手機,首先需要注意以下條件:

  1. 如果是299美元的企業證書打包的ipa,那沒有任何限制。注意:企業證書是不能發佈到蘋果市場的,只有99美元那個可以。

  2. 如果是99美元的個人/公司證書打包的ipa,那必須在生成證書的時候,把需要安裝ipa的手機的uuid增加到證書裏面(最多可以增加100個)。

    假設Studio中Native下有一個MyApp的本地應用,在dist目錄下已經生成MyApp.ipa。 不通過蘋果商店安裝ipa有3種方法:

  1. 同android的第一種方法類似,可以通過ios版本的UI瀏覽器掃描二維碼,但要注意,默認下載後是無法安裝ipa,可以安裝一個叫“同步推”的工具,這樣UI下載ipa後使用“同步推”打開ipa就可以安裝

  2. 在PC上安裝iTunes,並用數據線連接手機,ipa用iTunes打開,在iTunes中點擊自己的手機後在“應用程序”頁面會列出ipa,把ipa拖動到右邊的頁面,並點右下角的“同步”即可安裝

  3. 部署https,通過一個描述文件plist 指定安裝文件,在手機的safari瀏覽器中通過itms-services:///?action=download-manifest&url=http://域名/xxxx.plist”的方式安裝。本文隨後詳細說明:蘋果App如何通過部署HTTPS實現不經過蘋果商店的在線下載安裝?。

注意:上面的方法越獄和非越獄都適用,但快捷打包生成的ipa只能安裝在越獄手機上


二、蘋果App如何通過部署HTTPS實現不經過蘋果商店的在線下載安裝?

部署https提供ipa的下載,步驟如下:

1. 搭建一個HTTPS服務,可以使用HTTPD或者Tomcat構建,具體可搜索相關帖子。由於https好用的證書(就是瀏覽器默認支持)需要付費,這裏巧用github.com可以實現部署,可以參考壇友kiko 的帖子

2. 編寫plist文件。plist文件中需注意提供正確的ipa文件路徑,以及版本號和Bundle ID。模版: 點我下載

<?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>

     <!-- http或者https鏈接的ipa文件地址 -->

     <string>http://x5.justep.com/apps/x5.ipa</string>

    </dict>

    <dict>

     <key>kind</key>

     <string>full-size-image</string>

     <key>needs-shine</key>

     <true/>

     <key>url</key>

     <!-- http或者https鏈接的圖片地址,可直接使用app對應的icon(分辨率沒強制要求) -->

     <string>http://x5.justep.com/apps/x5.png</string>

    </dict>

    <dict>

     <key>kind</key>

     <string>display-image</string>

     <key>needs-shine</key>

     <true/>

     <key>url</key>

     <!-- http或者https鏈接的小圖片地址,可直接使用app對應的icon(分辨率沒強制要求) -->

     <string>http://x5.justep.com/apps/x5.png</string>

    </dict>

   </array>

   <key>metadata</key>

   <dict>

    <key>bundle-identifier</key>

    <!-- BundleID,就是新建app時的包名 -->

    <string>com.justep.x5.demo</string>

    <key>bundle-version</key>

    <!-- 版本號 -->

    <string>5.3.2</string>

    <key>kind</key>

    <string>software</string>

    <key>title</key>

    <!-- 安裝app時的提示信息 -->

    <string>X5 App download</string>

   </dict>

  </dict>

 </array>

</dict>

</plist>

3. 將plist文件放在https服務目錄下。這樣就有一個有效的連接地址指向這個文件,例如:

1  https://github.com/myuser/myapp/blob/master/myapp.plist

  手機如果要安裝app,可以在safari瀏覽器輸入:

1  itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist


注意:是三個/,不是筆誤,url後面寫的就是一個有效的可訪問plist的https地址,一定要https,否則無法打開

當然,你可以做一個頁面,裏面用一個鏈接指向這個地址,方便下載,例如:

1 <a onclick="window.location.href='itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist'">下載IPA</a>


開發App,蘋果App少不了。不過,蘋果商店的審覈實在太煩,更新也費勁。WeX5跨前端開源框架,應廣大App開發者的要求,做了精心整理, 幫助大家實現蘋果App不上傳蘋果商店、讓其他人也能安裝,分享如下:

更多信息可以關注WeX5博客:http://my.oschina.net/wex5

                          WeX5跨前端開源項目頁面:http://www.oschina.net/p/x5 



一、IOS App不通過蘋果商店,有幾種辦法可以完成安裝?


不通過蘋果商店安裝蘋果app(即ipa)的方法較爲複雜;如果是非越獄的手機,首先需要注意以下條件:

  1. 如果是299美元的企業證書打包的ipa,那沒有任何限制。注意:企業證書是不能發佈到蘋果市場的,只有99美元那個可以。

  2. 如果是99美元的個人/公司證書打包的ipa,那必須在生成證書的時候,把需要安裝ipa的手機的uuid增加到證書裏面(最多可以增加100個)。

假設Studio中Native下有一個MyApp的本地應用,在dist目錄下已經生成MyApp.ipa。 不通過蘋果商店安裝ipa有3種方法:

  1. 同android的第一種方法類似,可以通過ios版本的UI瀏覽器掃描二維碼,但要注意,默認下載後是無法安裝ipa,可以安裝一個叫“同步推”的工具,這樣UI下載ipa後使用“同步推”打開ipa就可以安裝

  2. 在PC上安裝iTunes,並用數據線連接手機,ipa用iTunes打開,在iTunes中點擊自己的手機後在“應用程序”頁面會列出ipa,把ipa拖動到右邊的頁面,並點右下角的“同步”即可安裝

  3. 部署https,通過一個描述文件plist 指定安裝文件,在手機的safari瀏覽器中通過itms-services:///?action=download-manifest&url=http://域名/xxxx.plist”的方式安裝。本文隨後詳細說明:蘋果App如何通過部署HTTPS實現不經過蘋果商店的在線下載安裝?。

注意:上面的方法越獄和非越獄都適用,但快捷打包生成的ipa只能安裝在越獄手機上

二、蘋果App如何通過部署HTTPS實現不經過蘋果商店的在線下載安裝?

部署https提供ipa的下載,步驟如下:

1. 搭建一個HTTPS服務,可以使用HTTPD或者Tomcat構建,具體可搜索相關帖子。由於https好用的證書(就是瀏覽器默認支持)需要付費,這裏巧用github.com可以實現部署,可以參考壇友kiko帖子

2. 編寫plist文件。plist文件中需注意提供正確的ipa文件路徑,以及版本號和Bundle ID。模版: 點我下載

<?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>

     <!-- http或者https鏈接的ipa文件地址 -->

     <string>http://x5.justep.com/apps/x5.ipa</string>

    </dict>

    <dict>

     <key>kind</key>

     <string>full-size-image</string>

     <key>needs-shine</key>

     <true/>

     <key>url</key>

     <!-- http或者https鏈接的圖片地址,可直接使用app對應的icon(分辨率沒強制要求) -->

     <string>http://x5.justep.com/apps/x5.png</string>

    </dict>

    <dict>

     <key>kind</key>

     <string>display-image</string>

     <key>needs-shine</key>

     <true/>

     <key>url</key>

     <!-- http或者https鏈接的小圖片地址,可直接使用app對應的icon(分辨率沒強制要求) -->

     <string>http://x5.justep.com/apps/x5.png</string>

    </dict>

   </array>

   <key>metadata</key>

   <dict>

    <key>bundle-identifier</key>

    <!-- BundleID,就是新建app時的包名 -->

    <string>com.justep.x5.demo</string>

    <key>bundle-version</key>

    <!-- 版本號 -->

    <string>5.3.2</string>

    <key>kind</key>

    <string>software</string>

    <key>title</key>

    <!-- 安裝app時的提示信息 -->

    <string>X5 App download</string>

   </dict>

  </dict>

 </array>

</dict>

</plist>

3. 將plist文件放在https服務目錄下。這樣就有一個有效的連接地址指向這個文件,例如:

1  https://github.com/myuser/myapp/blob/master/myapp.plist

  手機如果要安裝app,可以在safari瀏覽器輸入:

1  itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist


注意:是三個/,不是筆誤,url後面寫的就是一個有效的可訪問plist的https地址,一定要https,否則無法打開

當然,你可以做一個頁面,裏面用一個鏈接指向這個地址,方便下載,例如:

1 <a onclick="window.location.href='itms-services:///?action=download-manifest&url=https://xxx/.../myapp.plist'">下載IPA</a>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章