前提:php
要实现这一功能,首先要有一个企业帐户(年费是$299),而且已经配置好了相应的证书以及Provisioning Profile。html
其次,要有一个git.oschina.net的账号,用于相关文件的存放。git
最后,要安装Apache之类的Web服务器。浏览器
详细教程:服务器
第一部分:Xcode应用打包工具
首先,打开你要发布的Xcode工程。选择工具栏的Product->Archive,此时Xcode会对应用程序进行打包。学习
若是Archive是灰的,把运行平台选为iOS设备就能够了。url
打包完成以后,会弹出Archives对话框。这里显示了刚刚打包好的工程,此时要点击右侧的Distribute按键。.net
点击Distribute按键以后会提示进行发布方式选择。这里选择中间的Save for Enterprise or Ad Hoc Deployment。设计
接下来会弹出提示选择相应的Provisioning Profile,必须是企业帐户并正确配置后才能有相应的发布Provisioning Profile。选择完成后点击Export。
以后会进入文件存储路径选择,这里咱们选择了桌面。而后勾选底下的Save for Enterprise Distribution,此时会弹出企业发布的相关设置。这里必填的只有两项:Application URL和Title,前者是应用的下载地址,后者是应用的名称。因为咱们如今尚未部署程序下载地址。因此这里能够先填入相似下图的地址,Title就起应用的名字。其余的能够留空。
点击Save,此时会发现桌面多了两个文件,一个是.ipa文件,一个是.plist,有了这两个文件,就能部署在线安装应用了。
若是你的iOS设备已经越狱,此时把这个ipa经过xx助手里面安装就能装上了。
第二部分:部署下载服务器
首先,你要搭建一个Web服务器,Mac上能够经过MAMP(http://www.mamp.info/en/)进行,下载安装基本都是一路Next,没有什么难度,安装完成以后,启动MAMP,在Preference里面查看Apache Port,默认是8888。以后点击OK关闭Preference。此时只要点击Start Servers即可以启动Web服务器。
此时其余设备经过你电脑的ip:端口即可以访问你的Web服务器了。好比你的Mac的IP是192.168.1.107,用手机浏览器访问192.168.1.107:8888即可以访问服务器了(固然这里要保证在同一路由下)。
看到这里,你可能会想直接把ipa放到服务器里面,而后用手机浏览器直接打开这个ipa进行安装,但很惋惜这是不行的,苹果尚未这么开放。
虽然没法经过直接打开ipa下载安装应用,但咱们也能够把以前在桌面生成的ipa和plist文件放到Web服务器的根目录下(默认是Application/MAMP/htdocs)。还记得以前打包应用的时候,有一项Application URL是随便填的吗,这里能够输入正确的地址了:假设你的IP地址是192.168.1.107,Apache端口是默认的8888,这里Application URL就应该是http://192.168.1.107:8888/**.ipa(这里**填入你应用的名称)。修改Application URL的方法是:打开你刚刚放到Web服务器根目录的plist,修改里面url对应的值,改为http://192.168.1.107:8888/**.ipa。
来到Web服务器根目录,删掉原来的index.php文件(固然,最好是先备份一下),新建一个index.html的文件(推荐使用Sublime Text2工具)。而后输入如下语句(将http://192.168.1.107:8888/UVMork.plist换成相应的地址):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>iPhone Application</title> </head> <body> <ul> <li><a href="itms-services://?action=download-manifest&url=http://192.168.1.107:8888/UVMork.plist"> App Install</a> </li> </ul> </body> </html>
保存后,用手机访问192.168.1.107:8888便会进入这个html页面。
此时,点击App Install,会有两种状况,若是你的iOS设备是iOS7.0或者更低的版本,App已经开始安装了,可是,若是你的设备是iOS7.1的,很惋惜,会提示证书无效,没法安装。
没法安装的缘由是苹果在iOS7.1以后更改了itms-services协议,更改后只能经过https协议在线安装应用。而咱们以前部署的Web服务器都是http开头的,也就没法安装。
解决的方法有两种。第一种是为你的Web服务器添加https协议,第二种即是这里要用到的经过使用了https协议的第三方网盘来存放plist以及ipa文件,实现相似本身搭建的Web服务器的效果。可是不是任意网盘都能实现这一功能的,国内的百度云盘,360等都不支持。国外的Dropbox支持,但有墙在,基本无法用。这里咱们使用的是开头提到的git.oschina.net。
接下来的步骤就是把ipa和plist都存放在git.oschina.net里,而后修改Web服务器index.html的连接地址,改成plist文件在git.oschina.net的地址(你能够经过查看文件的原始数据得到这个地址),而后iOS设备访问原来的地址(192.168.1.107:8888)即可以正确安装了。若是你用过Git进行代码管理,基本就不须要教程了。若是你没有接触过Git,能够先学习下Git的一些基本功能。
首先登陆https://git.oschina.net,而后点击右上角的加号『建立一个新项目』,项目名能够填Xcode的工程名。其余能够留空。而后点击建立项目按键,项目就建立完成了。
接着,进入项目的地址,找到项目对应的HTTPS地址(以git结尾),复制到剪贴板。
接着用你的Git工具(好比Version)把此地址的项目下到本地,而后将你的ipa和plist文件经过Git工具Push到远端。Push完成以后,在浏览器中刷新你的Git工程所在的页面,就能看到刚刚Push的文件了。
此时,在浏览器中打开ipa文件,右键点击『下载』,选择拷贝下载连接。而后修改刚Push到远端的plist文件的url,改为这个下载链接。修改以后再次Commit,Push到远端。
最后,打开MAMP服务器的网页文件目录,修改html的地址为刚刚Push的plist的地址(经过浏览器查看plist文件的原始数据能够得到)就好了,iOS7.1或更新的设备再次经过浏览器访问原来的地址(192.168.1.107:8888),点击App Install即可以正确安装应用了。
接下来,你能够设计下下载的页面,让这个页面更好看。此外,因为网址是LAN的地址,因此要外网访问的话,还须要在路由进行端口映射,这样外网的用户就能下载到你的应用了。