本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址

https://www.baiydu.com

当前苹果已经禁止了,通过IOS应用直接跳转APP下载链接的方法。但是仍然可以使用另外一种方法直接跳转AppStore。

这种方法需要增加一个类库StoreKit.framework。 这里使用这功能是为用户提供更新,下面说下我实现这个功能的详细步骤。

一、增加一个网页到服务器上去,title增加你当前APP的版本号。

      

、在viewDidLoad里面增加UIWebView加载服务器上增加的网页,并获取当前版本号       

    1:下面是是uiwebview 加载网页的代码

-(void)viewDidLoad
{
[super viewDidLoad];
BeeUIWebView* getVersionWebView=[[BeeUIWebView alloc]initWithFrame:CGRectMake(, , , )];
getVersionWebView.backgroundColor = [UIColor redColor];
getVersionWebView.scalesPageToFit =YES;
NSString *pagePath=[NSString stringWithFormat:@"http://www.jmfww.com/Mobile/iosVersionInfo.html"];
NSURL *url =[[NSURL alloc] initWithString: pagePath];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
getVersionWebView.delegate=self;
[getVersionWebView loadRequest:request]; }

  2:uiwebview代理

- (void)webViewDidFinishLoad:(UIWebView *)webView
{ NSString *value= [webView stringByEvaluatingJavaScriptFromString:@"document.title"];
NSArray *VersionAndStoreLoadUrlArray= [value componentsSeparatedByString:@","]; NSString *Version=[VersionAndStoreLoadUrlArray objectAtIndex:];
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
// app名称
// NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];
// app版本
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; if (![app_Version isEqualToString:Version]) { showMessage(@"请前往AppStore下载最新版本"); [self openAppStore:@""]; }
}

二、SKStoreProductViewController

//首先引入SKStoreProductViewController代理SKStoreProductViewControllerDelegate
//跳转APPSTORE的方法
-(void)openAppStore:(NSString *)appId{
SKStoreProductViewController *storeProducVC=
[[SKStoreProductViewController alloc]init];
storeProducVC.delegate=self;
NSDictionary *dict=[NSDictionary dictionaryWithObject:appId forKey:SKStoreProductParameterITunesItemIdentifier]; [storeProducVC loadProductWithParameters:dict completionBlock:^(BOOL result, NSError * _Nullable error) {
if (result) {
[self presentViewController:storeProducVC animated:YES completion:nil]; }
}]; } //SKStoreProductViewController返回代理
-(void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController
{
[viewController dismissViewControllerAnimated:YES completion:nil];
}

objective-c IOS应用更新的更多相关文章

  1. iOS自动更新如何实现

    APP检测更新可以使用两种方法.第一种是和安卓等系统一样,获取自己服务器的APP版本号与已安装的APP版本号比较:第二种是根据已发布到app store上的应用版本号与已安装的APP版本号比较更新.第 ...

  2. ios背景更新和下载

    ios背景更新和下载 by 吴雪莹 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NS ...

  3. iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET

    iOS 热更新方案 - lance的专栏 - 博客频道 - CSDN.NET Weex

  4. Unity应用的iOS热更新

    Unity应用的iOS热更新 作者:丁治宇 Unity TechnologiesChina Agenda •  什么是热更新 •  为何要热更新 •  如何在iOS 上对Unity 应用进行热更新 • ...

  5. iOS热更新实现方式

    heart.jpg 苹果静止热更新,可惜我的是企业app,没有这些约束了,随便用.(当然有些热更新已经可以通过苹果审核了,比如JSPatch)官网说的: JSPatch 平台 SDK 1.7.2 以上 ...

  6. 有关iOS热更新

    iOS热更新的几篇文章,看完这几篇,自己集成一下.下面说一下我集成时遇到的问题. 这是原作者的JSPatch的讲解的文章:<JSPatch – 动态更新iOS APP>.<JSPat ...

  7. iOS热更新-8种实现方式

    一.JSPatch 热更新时,从服务器拉去js脚本.理论上可以修改和新建所有的模块,但是不建议这样做. 建议 用来做紧急的小需求和 修复严重的线上bug. 二.lua脚本 比如: wax.热更新时,从 ...

  8. IOS热更新-JSPatch实现原理+Patch现场恢复

    关于HotfixPatch 在IOS开发领域,由于Apple严格的审核标准和低效率,IOS应用的发版速度极慢,稍微大型的app发版基本上都在一个月以上,所以代码热更新(HotfixPatch)对于IO ...

  9. iOS项目更新之升级Xcode7 & iOS9

    金田 前言      Apple 的WWDC所发布内容在给大家带来惊喜之际,给各位iOS开发的同仁却也带来了不同程度的麻烦.首先不讲新功能,就单指原来老版本的项目升级.代码升级,就是一堆问题,而且是不 ...

随机推荐

  1. 大叔也说Xamarin~Android篇~支付宝SDK的集成

    回到目录 首先做为支付宝SDK它提供了多种平台,网页版,wap版,IOS版,android版等等,今天主要说一下在xamarin里使用android平台的sdk的方法,在网上介绍这块的文章不多,大叔本 ...

  2. iOS-数据持久化-偏好设置

    一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏 ...

  3. 每天一个linux命令(26):用SecureCRT来上传和下载文件

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

  4. KnockoutJS 3.X API 第四章 数据绑定(1) 文本及样式绑定

    目录 本节将介绍六种文本绑定方式: visible绑定 text绑定 html绑定 css绑定 style绑定 attr绑定 可见文本绑定(visible) 使用visible绑定,来控制DOM元素的 ...

  5. python socket 学习

    Python在网络通讯方面功能强大,今天学习一下Socket通讯的基本方式,分别是UDP通讯和TCP通讯. UDP通讯 upd 服务端 #!/usr/bin/env python # -*- codi ...

  6. <C#>找出数组中重复次数最多的数值

    给定一个int数组,里面存在重复的数值,如何找到重复次数最多的数值呢? 这是在某社区上有人提出的问题,我想到的解决方法是分组. 1.先对数组中的所有元素进行分组,那么,重复的数值肯定会被放到一组中: ...

  7. 深入理解PHP内核(六)函数的定义、传参及返回值

    一.函数的定义 用户函数的定义从function 关键字开始,如下 function foo($var) { echo $var; } 1.词法分析 在Zend/zend_language_scann ...

  8. HTML的音频和视频

    目录 [1]媒体格式 音频格式 视频格式 [2]元素 插件元素 HTML5元素 [3]HTML音频 [4]HTML视频 前面的话 多媒体元素(比如视频和音频)存储于媒体文件中,确定媒体类型的最常用的方 ...

  9. 【原创】Matlab.NET混合编程技巧之直接调用Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 在我的上一篇文章[ ...

  10. python--基础学习(四)自然字符串、重复字符串、子字符串

    python系列均基于python3.4环境 1.自然字符串和重复字符串 代码示例: str1=r'hello \npython' str2='hello \npython' str3="h ...