搭建自己的iOS内测分发平台[以无线方式安装企业内部应用 ]

来源:互联网 发布:动画片 知乎 编辑:程序博客网 时间:2024/05/20 01:38

前言:

苹果提供了一个 以无线方式安装企业内部应用 的策略,我们可以利用这个策略去内测分发自己的iOS应用。下面我们一步步来实现自己的内测分发。 

步骤:

一、搭建内测分发站点

这里我就不多说了,有一台自己的服务器,使用lnmp或者lamp搭建一个web站点就可以了。推荐使用nginx,这个在配置SSL证书的时候会简单。

二、申请SSL证书

苹果在今年出来的政策,全部数据传输都要使用HTTPS才可以。SSL证书可以使用免费的,也可以使用收费的。

免费的推荐使用景安的-> 传送门

收费的推荐使用namecheap的-> 传送门

具体安装方法我就不多说了。

三、建立内测分发目录

我们在绑定好域名之后,在服务器上面建立一个虚拟主机用于内测分发,并上传好Display Image(57*57)和Full Size Image(512*512)的程序icon。

例如:

https://www.ianisme.com/myapp/image57.png

https://www.ianisme.com/myapp/image512.png

四、添加udid

既然是内测分发,我们当然是给公司内部人员下载的了,需要把公司内部人员的设备的udid添加到自己的开发者账号中去。

五、打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/image57.png

https://www.ianisme.com/myapp/image512.png

打包完成后会生成一个manifest.plist文件和一个ipa文件

将manifest.plist和ipa文件上传到自己的服务器https://www.ianisme.com/myapp/目录中去。

如果Xcode版本较低或者以后对APP进行迭代更新,我们都可以直接创建manifest.plist文件

内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5. <key>items</key>
  6. <array>
  7. <dict>
  8. <key>assets</key>
  9. <array>
  10. <dict>
  11. <key>kind</key>
  12. <string>software-package</string>
  13. <key>url</key>
  14. <string>https://www.ianisme.com/myapp/myapp.ipa</string>// ipa地址
  15. </dict>
  16. <dict>
  17. <key>kind</key>
  18. <string>display-image</string>
  19. <key>url</key>
  20. <string>https://www.ianisme.com/myapp/image57.png</string>
  21. </dict>
  22. <dict>
  23. <key>kind</key>
  24. <string>full-size-image</string>
  25. <key>url</key>
  26. <string>https://www.ianisme.com/myapp/image512.png</string>
  27. </dict>
  28. </array>
  29. <key>metadata</key>
  30. <dict>
  31. <key>bundle-identifier</key>
  32. <string>com.ianisme.myapp</string>// 你APP的bundleId
  33. <key>bundle-version</key>
  34. <string>1.0</string>// 分发程序的版本
  35. <key>kind</key>
  36. <string>software</string>
  37. <key>title</key>
  38. <string>myapp</string>
  39. </dict>
  40. </dict>
  41. </array>
  42. </dict>
  43. </plist>

可以对其中的内容进行更改。

六、编写前端页面进行分发

我们有两种方式

第1种:

我们在网页的head标签中加入JS代码,当用户访问网页的时候自动触发,进行下载。

  1. <script>
  2. var url = "https://www.ianisme.com/myapp/manifest.plist";
  3. window.location = "itms-services://?action=download-manifest&url=" + url;
  4. </script>

第2种:

打造一个炫酷的页面(此处省略),以web链接的形式当用户点击触发a标签的时候进行下载

  1. <a href="itms-services://?action=download-manifest&url=https://www.ianisme.com/myapp/manifest.plist">点击下载</a>

总结:

其实我们可以有fir.im、pre.im等第三方分发平台以及苹果自己的TestFlight可以选择,有人说第三方服务可能会存在不可抗拒的因素,而TestFlight的连接速度就非常慢,而我还是喜欢用这些三方平台,我觉得在内测中,我们应该把时间浪费在有意义的事情上面。

0 0
原创粉丝点击