ios实现itms-services协议企业内发布或者越狱发布

来源:互联网 发布:如何禁止程序访问网络 编辑:程序博客网 时间:2024/04/30 13:43
正常情况下的ios发布,我们一般都是利用xcode打包应用,然后submit到AppStore,完成发布流程,然后等待苹果审核通过,这样一气呵成,基本没有什么问题。

但是有下面这么几种情况我们需要利用itms-services协议做一些内部分发打包文件:


1.很多人都不喜欢用itunes安装同步ipa包,在项目开发过程中,需要发给测试安装我们的ipa包,很多时候需要开发协助安装,这样很繁琐也很浪费时间
2.苹果的in-House发布,299$证书搞的App,需要在公司内部发布的应用,一般都是大一点的公司会弄这种发布
3.还有就是越狱的ipa包的分发

这样做的好处就是,用户只需要用iphone或者ipad设备打开一个网页,然后点击网页上的安装按钮,就能完成App在手机上的安装,不需要经过AppStore下载安装,也不需要itues同步,所以很方便。下面介绍一下制作的步骤:


1.首先准备好打包完毕的ipa包,比如叫做test.ipa

2.新建一个plist文件,比如叫做test.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>http://xxxx/test.ipa</string>        </dict>      </array>      <key>metadata</key>      <dict>        <key>bundle-identifier</key>        <string>com.yourCompany.test</string>        <key>kind</key>        <string>software</string>        <key>subtitle</key>        <string>v1</string>        <key>title</key>        <string>Install test</string>      </dict>    </dict>  </array></dict></plist>

蓝色的部分是 1步中打包好的ipa包要放置的网络位置
红色部分是ipa包的bundeID

3.编写一个html文件,内容如下

<html><head></head><body></br></br><a href="itms-services://?action=download-manifest&url=http://xxx/test.plist.plist">安装测试程序</a></span></br></br></br></p></body></html>

黄色的部分是2步中的plist放置的网络位置,然后将这个html放到一个可访问到网络上或者局域网上 ,例如http://hhh/test.html
需要安装的这个ipa包的人员只需要用手机浏览器访问http://hhh/test.html就可以顺利安装