通过扫码自定义链接安装iOS app,版本更新总结。
1、打包ipa,plist
工具:xcode6
证书:企业级开发证书
1.1)xcode6开始企业级打包时不在生成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>(这里是IPA文件的路径, http路径就可以)</string>
<key>New item</key>
<string></string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>c(这个名字在xcode 中查看)</string>
<key>bundle-version</key>
<string>1.1(app的版本,在xcode中看)</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>(这里是APP的名称)</string>
</dict>
</dict>
</array>
</dict>
</plist>
方案1
2、选择https服务器
plist文件必须放到 https得服务器上。
这里使用七牛的免费域名,需要去七牛的网站上注册。
注册地址:https://portal.qiniu.com/
3、上传ipa,plist
注册完成后,会有一个免费的http域名可以用;
在域名设置-https 在申请一个https的域名,这里需要提交证件照片,等待审核,正常一天内审核通过;
审核通过后,上传plist文件和ipa文件到空间上(ipa也可以当在其他http的服务上)
在文件名右侧的 倒三角可以查看http访问地址:例:
http://7wy3rr.com1.z0.glb.clouddn.com/****.plist
转成https的访问地址为: https://dn-***.qbox.me/****.plist(前提是https的申请通过)
4、代码处理
4.1)代码中判断版本是否为最新
获取当前版本:NSDictionary *localDic =[[NSBundle mainBundle] infoDictionary];
NSString *currVersion =[localDic objectForKey:@"CFBundleShortVersionString"];
获取最新版本:本地数据库保存最新版本号
4.2)更新版本
#define APP_DownloadURL @"itms-services://?action=download-manifest&url=https://dn-*****.qbox.me/gsSales.plist"
NSURL *url = [NSURL URLWithString:APP_DownloadURL];
[[UIApplication sharedApplication] openURL:url];
5)、错误原因
5.1)process launch failed: timed out waiting for app to launch
1、确定plist得外链是否可用,就直接把 哪个https得外链 在 浏览器上打开,如果可以直接现实plist里得内容,这就可以说明 这个链接是没有问题得。
2、plist里面地址配置好,上传得网盘,生成https外链,然后 在苹果手机上输入
itms-services:///?action=download-manifest&url=https://XXXXXX.qbox.me/XXXXX.plist
把红色部分换成你的外链,这样就可以直接下载app了,
如果第一步正确,第二步不出下载,说明是plist可能有问题
如果 出现了下载效果,但下载过程中安装失败,那可能是你app证书得问题。
5.2)安装失败
1、网络原因 下载ipa包时报错 切换其他网络尝试
方案2:
http://fir.im/
提供app内测服务。
参考:
http://jingyan.baidu.com/article/a3aad71aa5fbfbb1fb0096b1.html
通过扫码自定义链接安装iOS app,版本更新总结。的更多相关文章
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- 从扫码支付想到的超级APP主宰一切,数据!数据!还是数据!
前言 做室内定位的人其实内心都明白:基于指纹方法的移动端定位,无论paper每年出来多少,距离真正的大规模应用的距离还有多么遥远.指纹采集,指纹更新,似乎在生产实践上就是不可能的难题.所有还在基于人工 ...
- iOS APP版本更新跳转到App Store下载/更新方法
使用下面的连接即可跳转到App Store itms-apps://itunes.apple.com/cn/app/id*********** 其中********* ...
- 微信支付之扫码、APP、小程序支付接入详解
做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支 ...
- 把网站打包快速在线生成ios app的正确方法
下方的内容不用看了,请点这里 !点这里!IOS APP自助生成系统已上线,请马上去了解下: http://www.tao-jiujiu.com/post/188.html ============= ...
- ionic3 实现扫码功能
ionic3 通过插件phonegap-plugin-barcodescanner,调用机器硬件摄像头实现扫码功能. 首先当然先了解下 phonegap-plugin-barcodescanner,这 ...
- Spring Security整合企业微信的扫码登录,企微的API震惊到我了
本文代码: https://gitee.com/felord/spring-security-oauth2-tutorial/tree/wwopen/ 现在很多企业都接入了企业微信,作为私域社群工具, ...
- 利用websocket实现手机扫码登陆后,同步登陆信息到web端页面
新手必看 广播系统 事件系统 准备工作 初始化项目 引入 laravel-websockets 软件包 启动 websocket 监听 主要流程 创建两个页面 建立 socket 连接 手机端扫码登陆 ...
- 微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结
前言 很久以来,一直想写一篇微信支付有关的总结文档:一方面是总结自己的一些心得,另一方面也可以帮助别人,但是因种种原因未能完全理解透彻微信支付的几大支付方式,今天有幸做一些总结上的文章,也趁此机会,将 ...
随机推荐
- JVM内存的堆、栈和方法区
JVM的内存分为堆.栈.方法区和程序计数器4个区域 存储内容:基本类型,对象引用,对象本身,class,常量,static变量 堆: 拥有者:所有线程 内容:对象本身,不存放基本类型和对象引用 垃圾回 ...
- 基于Spring mvc 的Websocket 开发
1.Pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>sp ...
- js用星号隐藏电话中间四位号码
$(document).ready(function(){ var mobile="{$user.mobile}"; var reg=/^(\d{3})\d{4}(\d{4})$/ ...
- 如何使用REST请求风格
REST:即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构. 它结构清晰.符合标准.易于理解.扩展方便, 所以正得到越来越多 ...
- HBase-协处理器详解及实现
协处理器(coprocessor) 把一部分计算移动到数据的存放端. 实例:HBase添加solr二级索引详细代码 简介 协处理器允许用户在region服务器上运行自己的代码,允许用户执行region ...
- MVC 中 System.Web.Optimization 找不到引用
在MVC4的开发中,如果创建的项目为空MVC项目,那么在App_Start目录下没有BundleConfig.cs项的内容,在手动添加时在整个库中都找不到:System.Web.Optimizatio ...
- python读取.mat文件的数据
首先导入scipy的包 from scipy.io import loadmat 然后读取 m = loadmat("F:/__identity/activity/论文/data/D001. ...
- EXCEL中,怎样查看一个工作簿中有几个工作表?
EXCEL中,怎样查看一个工作簿中有几个工作表 有几个EXCEL文件,每个文件(工作簿)中都有上百个工作表, 怎样可以一次性查看一个簿包含几个表? 目前好像没有直接可以看到有多少张工作表的按钮,这就需 ...
- jquery的队列问题
队列,可以当成一个数组,也可以当成一个空间. 使用的地方: 在js这种异步操作的时候,我们不知道什么时候一个js代码加载完成,并且你还要保护一段代码只有一个模块在执行(按需加载的时候) 这个时候我们就 ...
- SQL授权语句(MySQL基本语句)
看他们网上的,写得都是千篇一律,同时,好多也写得不是很好,下面是我自己总结的有关mysql的使用细节,也是我在学习过程中的一些记录吧,希望对你有点帮助,后面有关存储过程等相关操作还没有总结好,下次总结 ...