一、前言
首先,在app端开发上线的过程中,会面临一个问题,就是关于app端的版本升级的问题。如果不做相关处理来引导用户的话,那么app就会出现版本没有更新出现的各种问题,我们常见的有在线升级和去指定地址下载安装两种形式。
二、apk、ipa、wgt的理解
uniapp是一个跨端框架,默认支持打包多种小程序以及我们所需要的app的安装包。
apk:android端所需要的安装包
ipa:苹果应用的安装包
wgt:应用的资源包,通常是我们的业务代码和业务代码需要的资源
换句话说,可以理解为,apk包/ipa包 = wgt资源包+基本配置+硬件权限
三、app两种更新方式的区别
在线升级是可以不用去指定下载地址,如应用市场重新下载,而是在线监测更新,通过下载资源包的形式直接进行下载安装运行,从而减少了用户量的一个流失。它主要是通过安装wgt包来实现的,制作wgt包在hbuilderx中所示
而去指定地址下载,同常是大版本的更新,如修改了logo、启动页、名称等基本配置,或者是增加了app的一些新的硬件权限,如推送、摄像头、分享等,此时就不能用wgt包来进行升级,必须打包apk和ipa包,重新发行并引导用户前往指定地址重新下载安装。
四、app端发布
android:你可以选择上架对应的应用商店,或者直接简单点存储到某个CDN上两种形式。上架应用商店android通常复杂点在于分成了一二十种(如小米商城、华为应用、应用宝…),且要注册对应的开发者,发布时需要对应的审核。打包时需要进行勾选,打包成应用商店专属的apk,所以你妄想发布很多商店的话,这是个体力活,会打很多的包。而存储到cdn的云空间,用户可以直接进行下载安装,但是有的可能会被手机提示为来历不明的软件应用,有对应的风险警告。
ios:签名比较复杂,以及后续的审核都是比较复杂严格的。
a) 以苹果的个人开发者可以制作的签名证书发布AppStore。
第一步,通常是需要通过transporter进行代码上传,在此过程中会对应用进行代码和证书监测,通过后上传至内测版本(内测即应用添加的内部人员,可以设置为内测用户),内测用户收到邀请可以通过testFlight下载使用。
第二步,就是公测,公测阶段可以让外部人员下载testFIight搜索到应用,公测开始就有专门的人工审核,要求比较严格需要介绍仔细,提供访问权限等,因为地区原因通常是夜晚审核,第二天工作日给予回复,提交的次数过多也可能会变慢。
第三步,发布appStore,需要填写各种信息(截图、类别…),选择公测的版本进行正式的发布,交给苹果官方审核。
ps: 个人开发者其实还有一种,超级签名,限制100设备使用,有禁用风险,这里就不再介绍。
b) 用企业签名的模式提交app
可以避免苹果的审核,能直接发布,缺点是安装完成后需要用户手动对应用设置可信任应用,这种对公司要求有一定的资质,500人以上的组织,而且下来的比较麻烦,几个月的周期都是有可能的。用企业签名打包的ipa直接存储到云空间。
所需要材料:
icon图标两个,分辨率分别是57×57和512×512;
plist文件一个
IPA包一个
阿里云存储oss《可以用来存放下载资源》
直接使用ios自带的浏览器打开以下地址就可以安装了,
itms-services:///?action=download-manifest&url=这里是plist文件的下载地址。