前言:前端
蘋果提供了一個以無線方式安裝企業內部應用的策略,咱們能夠利用這個策略去內測分發本身的iOS應用。下面咱們一步步來實現本身的內測分發,那麼爲何要本身搭建屬於本身的分發網站?由於使用企業開發者的大多數都是一些BC,CP,SSC,金融期貨沒法上架,因此纔會購買企業開發者帳號進行分發ipa讓用戶無需越獄安裝,市面上那些基本都是掉籤號,而咱們的企業開發者帳號都是很是穩定。ios
skype:ioszhifu88
郵箱:ioszhifu88@tom.comnginx
步驟:web
1、搭建內測分發站點服務器
這裏我就很少說了,有一臺本身的服務器,使用lnmp或者lamp搭建一個web站點就能夠了。推薦使用nginx,這個在配置SSL證書的時候會簡單。app
2、申請SSL證書ide
蘋果在今年出來的政策,所有數據傳輸都要使用HTTPS才能夠。SSL證書可使用免費的,也可使用收費的。
免費的推薦使用景安的->傳送門
收費的推薦使用namecheap的->傳送門
具體安裝方法我就很少說了。網站
3、創建內測分發目錄url
咱們在綁定好域名以後,在服務器上面創建一個虛擬主機用於內測分發,並上傳好Display Image(5757)和Full Size Image(512512)的程序icon。
例如:
https://www.ianisme.com/myapp...
https://www.ianisme.com/myapp...code
4、添加udid
既然是內測分發,咱們固然是給公司內部人員下載的了,須要把公司內部人員的設備的udid添加到本身的開發者帳號中去。
5、打ipa包並上傳
咱們使用本身的開發者帳號進行打包
在打包類型中咱們選擇Save for Ad Hoc Deployment點擊下一步
我使用的是Xcode7.1,這裏勾選上Include manifest for over-the-air installation
而後在這裏填上應用的名字,後面的選項填入即將上傳服務器的ipa的地址以及圖片地址,
例如:
https://www.ianisme.com/myapp/myapp.ipa
https://www.ianisme.com/myapp...
https://www.ianisme.com/myapp...
打包完成後會生成一個manifest.plist文件和一個ipa文件
將manifest.plist和ipa文件上傳到本身的服務器https://www.ianisme.com/myapp...。
若是Xcode版本較低或者之後對APP進行迭代更新,咱們均可以直接建立manifest.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://www.ianisme.com/myapp/myapp.ipa</string>// ipa地址 </dict> <dict> <key>kind</key> <string>display-image</string> <key>url</key> <string>https://www.ianisme.com/myapp/image57.png</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>url</key> <string>https://www.ianisme.com/myapp/image512.png</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.ianisme.myapp</string>// 你APP的bundleId <key>bundle-version</key> <string>1.0</string>// 分發程序的版本 <key>kind</key> <string>software</string> <key>title</key> <string>myapp</string> </dict> </dict> </array>
</dict>
</plist>
能夠對其中的內容進行更改。
咱們有兩種方式
第1種:
咱們在網頁的head標籤中加入JS代碼,當用戶訪問網頁的時候自動觸發,進行下載。
<script>
var url = "https://www.ianisme.com/myapp/manifest.plist";
window.location = "itms-services://?action=download-manifest&url=" + url;
</script>
第2種:
打造一個炫酷的頁面(此處省略),以web連接的形式當用戶點擊觸發a標籤的時候進行下載
點擊下載
總結:
其實咱們能夠有fir.im、pre.im等第三方分發平臺以及蘋果本身的TestFlight能夠選擇,有人說第三方服務可能會存在不可抗拒的因素,而TestFlight的鏈接速度就很是慢,而我仍是喜歡用這些三方平臺,我以爲在內測中,咱們應該把時間浪費在有意義的事情上面。