zoukankan      html  css  js  c++  java
  • 解决企业In-House安装APP需HTTPS支持的问题

    问题背景:

    1. 能否通过应用服务器发布企业应用;
    2. 解决iOS7.1后,发布地址必须为HTTPS服务器。

    写作目的:

    在SAE(Sina App Engine)作为第三方服务器,实现APP的发布。

    适合阅读对象:

    想通过不自己搭建HTTPS服务器(对于个人开发者来说,略显昂贵的费用),实现应用的下载和安装。

    不涉及内容:

    企业应用的打包问题。关于企业打包,请参照iOS APP企业打包流程

    SAE地址:

    SAE


    正文:

    首先介绍下苹果开发的三种计划,分为个人,企业和大学计划。如图所示:

    ios 开发计划

    主要区别就是:

    • 企业开发者不能通过App Store途径发APP,但是可以直接无上限的分发APP(In-House发布);
    • 个人开发者可以通过App Store发布。

    这里,我们主要来介绍企业的In-House发布。用户安装企业应用的过程如下:

    1. 通过手机浏览器或二维码扫描获取到plist的地址;
    2. 用户下载并读取plist文件;
    3. 用户设备(iphone)读取plist中的ipa地址;
    4. 下载ipa文件,完成APP的安装。

    其中,访问plist的链接,必须是以下格式:

    itms-services://?action=download-manifest&url=http://www.epeiwang.com/epeiwang/download/epeiwang.plist

    在iOS7.1之前,在上述『步骤2』时,只需一台http服务器即可,但在iOS7.1之后,存放plist文件的服务器必须支持HTTPS。

    所以,要解决该问题有两种方法。
    方法一:自己搭建一台支持https的服务器;
    方法二:寻找第三方支持https的服务器,即云平台。

    方法比较:

    1. 第一种方法一劳永逸,但是签名的周期比较长,而且对于个人开发者来说,年费也稍显昂贵;
    2. 第二种方法,虽然免费,但必定伴随着不稳定的隐患。

    这里我将介绍第二种方法,并以SAE平台为例,实现企业应用的发布。

      • 准备好plist文件。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>
    < !– ipa 文件地址 –>
    < string>http://www.epeiwang.com/epeiwang/download/epeiwang.ipa</string>
    < /dict>
    < dict>
    < key>kind</key>
    < string>full-size-image</string>
    < key>needs-shine</key>
    < true/>
    < key>url</key>
    < !– ipa 安装时的图标 –>
    < string>http://www.epeiwang.com/epeiwang/static/theme/images/app_icon_120.png</string>
    < /dict>
    < dict>
    < key>kind</key>
    < string>display-image</string>
    < key>needs-shine</key>
    < true/>
    < key>url</key>
    < !– ipa 安装时的图标 –>
    < string>http://www.epeiwang.com/epeiwang/static/theme/images/app_icon_120.png</string>
    < /dict>
    < /array>
    < key>metadata</key>
    < dict>
    < !– ipa 文件的描述 –>
    < key>bundle-identifier</key>
    < string>com.epw.epw</string>
    < key>bundle-version</key>
    < string>1.0.0</string>
    < key>kind</key>
    < string>software</string>
    < key>title</key>
    < string>益培网</string>
    < /dict>
    < /dict>
    < /array>
    < /dict>
    < /plist>

    • 在SAE中创建PHP应用(本文不涉及申请新浪开发者账号);

    sae

    sae_step2

    这里我们选择“空应用”,

    sae_step3

    • 管理应用;

    sae_step4

    选择“代码管理”:

    sae_step5

    点击“编辑代码”:

    sae_step6

    • 上传plist文件;

    sae_step7

    sae_step8

    • 访问“https://wpl9.sinaapp.com/epeiwang.plist”测试下;

    sae_step9

    • 修改访问plist的地址;

    itms-services://?action=download-manifest&url=http://www.epeiwang.com/epeiwang/download/epeiwang.plist

        • 完成。
  • 相关阅读:
    分布式系统唯一ID生成方案汇总
    百度开源的分布式 id 生成器
    全局唯一ID生成器
    VisualSVN Server迁移的方法
    SQL Server 函数 LEN 与 DATALENGTH的区别
    SQLServer中DataLength()和Len()两内置函数的区别
    sql server 查询ntext字段长度
    JAVA使用POI如何导出百万级别数据
    Java 使用stringTemplate导出大批量数据excel(百万级)
    Java 两个日期间的天数计算
  • 原文地址:https://www.cnblogs.com/sunnyke/p/4681889.html
Copyright © 2011-2022 走看看