前言:前端
苹果提供了一个以无线方式安装企业内部应用的策略,咱们能够利用这个策略去内测分发本身的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的链接速度就很是慢,而我仍是喜欢用这些三方平台,我以为在内测中,咱们应该把时间浪费在有意义的事情上面。