免App Store分发iOS应用

本文介绍了一种通过OTA方式实现iOS应用的企业内部分发方法,包括使用.ipa、.plist文件和html页面进行应用安装,以及如何处理HTTPS链接。同时提供了多种实现方法的优缺点对比,如使用公司购买的HTTPS证书、单独托管plist文件或采用自签名证书等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Title:免App Store分发iOS应用
Date:2015-03-21 00:03:59
Category:iOS Develop
Tag:技术,生活,iOS Develop
Author:EricTang

众所周知的原因

因为苹果对iOS应用限制比较多,而且严格,所以一般情况下用户下载软件都是要从App Store上下载,或者说干脆像我之前那样儿,直接用公司的测试证书跑各种有源码的iOS应用,但我们总不可能给每个人的手机上都跑测试版本的吧?毕竟,99刀的证书只能调试一百台设备,所以吧,99刀不够的,我们还需要299刀的,这样儿就可以开发各种企业应用,并且自己搭建服务器进行应用分发了,当然,大家即使在最开始也好,或者说现在能看到的也好,好多东西都是可以被玩儿坏了的,尤其是可以说很“自豪”的说是被我大天朝的一些公司玩儿坏了的。比如我最开始知道的299刀证书是为了企业内部定制开发App所用的,然后就被我大天朝一些公司给硬生生的做成了寨版“App Store”。。。咳咳,但这里我们不做过多的讨论,我们还是来看看如何进行iOS的企业分发。

神马是OTA

这个也不用整的那么高大上,就是over the air,即,空中下载(表示我啥也不知道啊,我好像是从某移动哪里翻出来的),嗯,就是一种无线发布方式,可以实现App在线安装,从此无需数据线啊有么有,而且岂止是么有数据线啊,连App Store都一边儿玩儿蛋去了诶(唔,作者今天没次药)

如何实现OTA

要实现OTA,我们需要准备三个文件:

.ipa文件

——即我们构建好的ipa安装包,不过这里需要说明一下,这个ipa包是需要签名的:可以是开发证书签名的(99刀的),比如只是给自己公司的产品汪和测试团队用的;也可以是企业证书(299刀的),比如我就是做了一个寨版的App Store

.plist文件

——这个文件主要用来描述我们的应用的安装信息,主要内容可以参考我们项目源码中的Info.plist文件,只不过从Xcode6开始,即使选择企业方式也没法儿自动生成plist文件了,所以简单的办法是我们可以手写,当然也有一些第三方的工具或者脚本之类的,我懒得找,所以找了个模板然后花了点儿时间自己写了一个,这里打个小广告,嘿嘿 PlistGenerator,当然,这里直接放一个模板,方便大家保存之后手动修改。


    <?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>这里填写.ipa文件的下载地址(例如,http://xx.com/xx.ipa)</string>
                                    </dict>
                            </array>
                            <key>metadata</key>
                            <dict>
                                <key>bundle-identifier</key>
                                <string>这里填写Bundle ID</string>
                                <key>bundle-version</key>
                                <string>这里填写版本号</string>
                                <key>kind</key>
                                <string>software</string>
                                <key>title</key>
                                <string>这里填写应用标题</string>
                            </dict>
                    </dict>
            </array>
    </dict>
    </plist>
html文件

——不管怎么样儿,最终还是要通过浏览器进行安装的,嗯,对,不管你是用的Safari还是用的QQ、微信的内置浏览器,所以我们要提供一个html页面,在这个html页面上我们需要放置一个按钮,提供一个itms-services协议的链接,用户只需要打开这个链接就可以进行在线安装,这里需要注意的是,这个链接指向的是plist文件地址,例如:


    <a href="itms-services://?action=download-manifest&url=https://xx.com/xx.plist">一键安装</a>

所以说,iOS应用的OTA方式安装的核心就是苹果的itms-services协议,Safari可以通过解析itms-services协议来实现一键安装,在iOS7.1之前plist文件的url地址是没有限制的,但是之后,苹果修改了规则,这个url必须是可信任的https链接,至于其他的例如ipa文件的链接,没有特殊要求。

那么,https链接该怎么处理呢?主要的几种方法的优缺点对比如下:
1. 由公司购买https证书
这个其实没啥好说的,有钱就可以任性。

优点:最直接最踏实最靠谱儿的方式

缺点:当然,如果说你们的公司是创业小公司,https证书也是一笔可大可小的费用,但是,能省则省嘛,可以考虑例如startssl、instantssl之类的免费证书,只要是主流浏览器都认可的就可以,关于https证书其实是另外一个话题了,这里不作神展开。
  1. 单独将plist文件进行托管
    呃,是的,你没听错,单独托管plist文件,将plist托管到可以支持https外链的网盘之类的。dropbox被墙掉了,目前我知道的提供https外链的七牛云存储算一个,嗯,这个算安利,嘿嘿,因为我的github pages的图床也是用的他家的。

    优点:无需自己购买或者配置https证书

    缺点:T_T! 虽然只是托管了plist文件但是基本上是个人都可以看到plist文件及其内容,除非你用啥黑魔法。。你懂得

  2. 采用自签名证书的方式
    啊,这里你也没看错,对的,自己给自己颁发证书,表示我是可信赖的网站哟,譬如之前某123售票网站给自己也颁发过证书。

    优点:分分钟拿到“可信任”的证书

    缺点:首先,你得需要客户端信任你的证书,是的,你么有看错,你给自己颁发了一个证书,还需要用户选择信任这个证书,如果是小公司的话建议这个可以放弃了,因为一是人家本来就对你不够信任,而是,你不光让人家装你的应用还要人家装你的证书,啊,没啥冒犯的意思但是总觉得这么多东西下来用户估计早就跑没影儿了吧

  3. 将应用整体托管到第三方平台
    嗯,这里国内也有不少,我知道的也就是像蒲公英iOS内测平台以及fir,他们可以提供全程的服务,并且你的应用可以实现内部分发,即设置访问密码之类的隐私功能。

    优点:方便快捷,自己无需操心,而且这些应用托管平台根据自己的名气来定,也可以作为让用户信任你的应用的佐证

    缺点:有些人可能不太放心把自己的安装包交粗来。。。

OK,大概就是介个样子,配置好了之后,就可以通过OTA方式分发或者安装你的iOS应用了

全新智能应用分发托管系统 为移动应用开发者省去大量的时间、金钱以及苹果应用市场繁琐审核 多版本完全满足各界人士需求,无地区化的工作,我们精心打造了简洁,高效的管理系统。 便捷的数据统计,轻量的项目管理,完美的将应用托管与团队协作结合在一起。 费维护技术支持,让管理应用的工作生活,也成为一种艺术享受。 市场化需求与前景 移动互联网时代已经到来成为网络主导市场、一天12小时您能不离开电脑吗?但是你能离开手机吗? 这是一个移动互联网时代、移动应用行业的巅峰发展时期、超来超多的人加入这个行业以及市场。 请问你凭什么在这个市场占有一席之地、好的项目只是你的聪明才智,开发技术也只需要一次成本。 上线审核、后期维护、分析统计、推广营销难道这些也是一次付费终身享用?太天真了吧! 你错了、你一点也不天真因为你找到了我、全网独家(全新智能运营分发托管系统) 苹果市场高额的上线费用以及审核时间、消耗大量成本和时间、限制了你的运营思维。 全新智能应用分发托管系统让你除以上所有繁琐让你的应用在最短的时间与客户见面 不管你是企业开发者还是个人开发者、给你一个无限发挥的移动互联网市场、告别一切限制 你是移动互联网行业的一员、同样和你一样的也很多、我的烦恼解决了别人的烦恼谁解决? 多版本功能适合不同认识需求、24小时无人值守运营系统让你在解决烦恼之后成为一个商机。 苹果授信在线安装、企业签名、应用托管、下载流量、下载次数、数据统计、广告推广。 智能化系统永久费技术支持与维护、无需技术轻松运营、想怎么赚那是你自己的事…….. 功能介绍 智能处理APP  多用户管理  云端部署    自动二维码   应用关联    快速响应 智能提取APP应用信息,自动生成IOS应用PLIST。自动获取应用图标,开发信息。方便用户在测试 VIP会员功能  VIP会员时限购买 工单系统   应用升级系统   支付系统     智能解析提起应用信息  短网址生成   IPA独立下载页面 有助于推广统计    广告系统完美支持开通会员去除广告    会员充值短信通知功能 IPA时随时掌握应用版本信息! 内置了灵活的用户管理方式,并可直接与第三方站点进行互联互通, 用户使用时间限制,为您的运营决策提供有效参考数据。 通过驱动的方式可以轻松支持云平台的部署,云端部署让你的网站无缝迁移, 内置已经支持SAE、BAE,将对云端部署进行进一步优化。 基于Canvas的HTML5二维码插件,在您提交APP时将会自动生成专属的二维码, 二维码储存为永久性,并且识别度非常的高 内置IPA应用相互关联插件。下载页面能够智能识别用户手机类型,正确的类型下载地址! 通过特有的应用部署!上传更加快速,设置更加灵活方便!对比其它简略的分发系统,我们更加快速! 源码需要伪静态+PHP5.5+nts+https
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值