当前位置:   article > 正文

itms-services协议,不通过AppStore,直接安装IOS应用程序_不通过appstore itms-services 更新

不通过appstore itms-services 更新

最近开发的一个IOS项目需要不通过将APP发布到Appstore上直接安装到客户手机上,本来觉得苹果这么封闭的流程,应该不可以实现的吧,结果竟然还正能实现,这边主要是利用苹果自家的浏览器safari和itms-services协议,下面介绍下主要步骤和实现过程中遇到的问题。

通过itms-services协议,可以通过safari浏览器直接在iOS设备上安装应用程序。利用这种方式,只要在内网布置一个服务器,测试人员只需要通过测试设备的safari浏览器访问特定的url既可以实现安装

这边首先需要将项目打包成ipa文件和生成.plist文件。

一、打包ipa和生成.plist文件具体步骤:

1、在苹果开发者后台生成签名文件,使用developer profile或者adhoc distribution profile这边注意不能使用distribution profile,因为这不是发布到Appstore。
2、生成archive,点击菜单栏product中的archive选项进行打包
3、在organizer中点击archive进行distribute,发布的过程中注意选择save for enterprise distribution,不然会失败,完成保存会生成俩文件 .ipa文件和 .plist文件。其中.ipa文件就是应用程序文件, .plist文件是苹果需要通过itms-services协议访问的文件。

下面是.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://218.94.107.227:8996/wJob/job.ipa</string>  
                </dict>  
            </array>  
            <key>metadata</key>  
            <dict>  
                <key>bundle-identifier</key>  
                <string>com.qgbes.pjob</string>  
                <key>bundle-version</key>  
                <string>1.0.0</string>  
                <key>kind</key>  
                <string>software</string>  
                <key>title</key>  
                <string>测试APP免Appstore安装项目</string>  
            </dict>  
        </dict>  
    </array>  
</dict>  
</plist>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

属性不多,不做具体解释,这边只关心一点

<key>url</key>  
<string>http://218.94.107.227:8996/wJob/job.ipa</string>
  • 1
  • 2

这边是我们生成的ipa文件存放的位置。

二、现在万事俱备只欠东风啦,只需要客户端能够成功访问到我们生成的.plist文件即可。

本来觉得和ipa文件一样,放在服务器上是,访问一下就OK啦,结果发现,最新版本是不行的,之前确实可以通过http的方式进行访问plist文件进行安装,不过现在苹果规定必须以https的方式进行访问。

以https方式访问plist文件的解决方案

1、配置tomat支持https方式访问
2、利用dropbox分享外链进行访问原始文件
3、利用开源中国的git&osc分享外链进行访问原始文件

说说三种方式,第一种方式:对于只使用http方式访问来配置的tomcat,本身来改配置代价高,而且没必要。
第二种方式:dropbox是国外的,而且是要翻墙的,也就是存在不稳定情况,不通用。
第三种方式:国内网站,简单,稳定

这边我们也就只是需要访问个文件,简单点就在git&osc上放个文件,提供个文件链接就OK啦。

这里写图片描述

OK,通过itms-services协议进行访问下载吧。

三、打开客户端safari浏览器,输入
itms-services://?action=download-manifest&url=‘plist文件地址’
  • 1

这样就结束啦,反正我这边是安装成功啦~~~

总结下注意点
1、签名要使用developer profile或者adhoc distribution profile,不能使用distribution profile
2、个人开发者证书只能在100个设备中实现无线安装
3、最新版ios设备支持https方式访问plist文件(ipa文件是可以通过http方式访问的)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/746139
推荐阅读
相关标签
  

闽ICP备14008679号