关于iOS 7.1后下itms-services在线app

在IOS开发过程中,总会遇到这样或者那样的问题。这几天做了一个app,需要直接更新客户端,正常体系是在appstore中更新,这个APP不上appstore,这样就需要使用到

itms-services://?action=download-manifest&url=这样一段代码。总结一下该方法的使用,代码如下:

NSURL* nsUrl = [NSURLURLWithString:[NSStringstringWithFormat:@"itms-services://?action=download-manifest&url=%@",self.client_url]];

//要用真机器

[[UIApplicationsharedApplication]openURL:nsUrl];

其中的self.client_url是来自网络可访问的一个plist文件链接,如:https://xxx.xxx.xxx/app.plist

这个plist文件示例会在之后的经验中说明。这里先说一下该方法使用。

在使用该方法时,遇到一个问题,那就是在IOS7.1以下的版本时可以直接安装plist中指定的 APP。

当ios版本大于7.1时,会出现xxx.xxx.xxx证书无效,或者无法连接到xxx.xxx.xxx。

原因是在IOS7.1之后该方法要求链接必须是 支持https的链接,如果自己能配置ssl倒是没多大问题。但是像本屌丝这样的程序猿。有点犯难了。 嫌弃配置太麻烦。

这里提供一个方案。使用七牛云存储。在七牛上申请一个账号。开辟一个空间,然后需要实名认证,只有实名认证后才能上传多种格式的文件。七牛是支持ssl的,只需将app.plist文件放置在七牛上就可以了,其中app的ipamubiao地址只要保持可访问就行。

还有一点,七牛在你上传文件之后,默认的下载地址也就是其外链,是不带https的,需要在如图:

空间设置-》申请域名绑定,新增一个后缀为 qbox.me的域名,这个是支持https的,然后将文件的链接域名改成这个新邦的域名即可。

如原链接为http://xx.qiniudn.com/testapp.plist直接改成https://dn-xxx.qbox.me/testapp.plist中再放入

http://xx.qiniudn.com/testapp.plist直接改成https://dn-xxx.qbox.me/testapp.plist

代码如下:

[email protected]"https://dn-xxx.qbox.me/testapp.plist";

NSURL* nsUrl = [NSURLURLWithString:[NSStringstringWithFormat:@"itms-services://?action=download-manifest&url=%@",self.client_url]];

//要用真机器

[[UIApplicationsharedApplication]openURL:nsUrl];

这样我们就可以直接安装testapp.plist中指定的app了,当然前提是设备已经越狱,或者打包app的证书是企业证书。

时间: 2024-08-05 09:06:46

关于iOS 7.1后下itms-services在线app的相关文章

黄聪:通过 itms:services://? 在线安装ipa ,跨过appstore

1.需要一个html文件,引导下载用户在线安装ipa <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>一键安装掌上综调iPhone版</title>  </head>    <body>        <a href='itms-services://?action=do

IOS UIAlertController 弹框 (ios 9.0 后代替了UIAlertView弹框 和 UIActionSheet下弹框)

在IOS 9.0 后 苹果官方宣布不再或不推荐使用UIAlertView 和 UIActionSheet 由UIAlertController进行代替两者 用控制器将两者合二为一 很简单 方便 下面就是关于UIAlertView的常用方法 #import "RootViewController.h" @interface RootViewController () @end @implementation RootViewController - (void)viewDidLoad {

iOS上架——Windows系统下直接上架

之前用跨平台开发工具开发了一个应用,平台可以同时生成安卓版和苹果版,想着也把这应用上架到App Store试试,于是找同学借了个苹果开发者账号,但没那么简单,还要用到Mac电脑的钥匙串申请发布证书和上传ipa,可没有Mac,同学的大老远的也不方便拿过来用,然后捣鼓了个虚拟机,卡的我怀疑人生,后面找到了一个工具,在Windows环境下终于上传成功,把我的iOS app上架流程分享给各位. 下面从七个步骤进行详细介绍! 1.创建唯一标示符App IDs 2.申请发布证书 3.申请发布描述文件 4.i

iOS学习之路--下拉刷新和上拉加载更多

iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法. 内容 1.有哪些实现方法与各方法的优劣 使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容并从网络上获取最新的信息.通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要的信息和获取最新的信息.那么这种功能如何实现呢,还请跟着笔者继续往下看. 目前来说,主要的实

iOS证书过期后,xcode打包ipa闪退。使用控制台方式来打包

iOS证书过期后,xcode打包ipa闪退.使用控制台方式来打包 分类: iOS开发 2015-02-09 00:57 224人阅读 评论(0) 收藏 举报 xcode最新版本现在通过界面打包都需要登陆网站验证账号信息, 如果账号过期了,目前我碰到的问题是xcode直接“意外退出”了,也没提示, 后来才发现是企业版账号到期了,需要续费. 搜索下,发现用控制台生成ipa的方式,不会进行账号验证,即时过期了,也可以继续导出ipa. 命令如下: xcodebuild clean -project OB

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果

IOS学习之UiTableView下拉刷新与自动加载更多,百年不变的效果(五) 五一劳动节马上来临,小伙伴有妹有很激动哟,首先祝天下所有的程序猿节日快乐!这个五一对于我来说有点不一样,我的人生从这个五一就转弯了,爱情长跑8年的我结婚了,一会支付宝账号我会公布出去,请自觉打款!谢谢合作. 灯光闪起来: 舞蹈跳起来: 歌曲唱起来: -------------------------------------------------------------------------------------

关于ios 11.X后微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等问题的处理

环境: 认证路由ROS ,认证后台python django ios11系统 更新以来先后出现微信wifi认证,无法打开微信,无法重定向到weixin:开头网址等相关问题. 经过问题的收集,查询到网络上此类问题普遍存在 收集到的有如下网址,市面上大多数厂商在使用微信wifi 认证都存在这个问题 http://www.ruijie.com.cn/fw/wt/61089/ http://www.adslr.com/bbs/forum.php?mod=viewthread&tid=1143 https

iOS开发之单例模式下的初始化方法

iOS开发之单例模式下的初始化方法 一般的单例我们会这么写 +(instancetype)sharedXXXManager{ static XXXManager *sharedXXXManagerInstance = nil; static dispatch_once_t predicate; dispatch_once(&predicate,^{ sharedXXXManagerInstance = [[XXXManager alloc] initPrivate]; }); return sh

iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar 的解决办法

iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar  的解决办法 问题:iOS自定义tabbar后popToRootViewContriller和poptoviewcontroller时出现两个tabbar 1.自定义代码: - (void)viewWillAppear:(BOOL)animated { [super  viewWillAppear:animated]; // 删除系统自动生成的UITabBarB