- 浏览: 644790 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lizaochengwen:
网络请求碰到的中文乱码使用encodeURL吧- (NSStr ...
iPhone开发/iPad开发 中文乱码问题 -
hhb19900618:
还是没弄懂怎么解决了中文乱码? 正确代码能重写贴出吗
iPhone开发/iPad开发 中文乱码问题 -
zhengjj_2009:
我的理解是讲ipa文件解压缩之后再重新打包,已经破坏了签名,所 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
zhengjj_2009:
我参考你的“ 从ipa格式的母包生成其它渠道包的shell脚本 ...
xcodebuild和xcrun实现自动打包iOS应用程序 -
同一片天空:
问题果然解决了
iOS 搭建 XMPP实现环境
如果我们要检测app版本的更新,那么我们必须获取当前运行app版本的版本信息和appstore 上发布的最新版本的信息。
当前运行版本信息可以通过info.plist文件中的bundle version中获取:
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSString *appVersion = [infoDic objectForKey:@"CFBundleVersion"];
这样就获取到当前运行的app的版本了
要获取当前app store上的最新的版本,有两种方法,
一、在某特定的服务器上,发布和存储app最新的版本信息,需要的时候向该服务器请求查询。
二、从app store上查询,可以获取到app的作者,连接,版本等。官方相关文档
www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.htm
具体步骤如下:
1,用 POST 方式发送请求:
http://itunes.apple.com/search?term=你的应用程序名称&entity=software
更加精准的做法是根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的ID
#define APP_URL http://itunes.apple.com/lookup?id=你的应用程序的ID
你的应用程序的ID 是 itunes connect里的 Apple ID
2,从获得的 response 数据中解析需要的数据。因为从 appstore 查询得到的信息是 JSON 格式的,所以需要经过解析。解析之后得到的原始数据就是如下这个样子的:
参考博客:http://hi.baidu.com/yanh105/item/7378a98ffca6a8804414cfa0
当前运行版本信息可以通过info.plist文件中的bundle version中获取:
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSString *appVersion = [infoDic objectForKey:@"CFBundleVersion"];
这样就获取到当前运行的app的版本了
要获取当前app store上的最新的版本,有两种方法,
一、在某特定的服务器上,发布和存储app最新的版本信息,需要的时候向该服务器请求查询。
二、从app store上查询,可以获取到app的作者,连接,版本等。官方相关文档
www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.htm
具体步骤如下:
1,用 POST 方式发送请求:
http://itunes.apple.com/search?term=你的应用程序名称&entity=software
更加精准的做法是根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的ID
#define APP_URL http://itunes.apple.com/lookup?id=你的应用程序的ID
你的应用程序的ID 是 itunes connect里的 Apple ID
2,从获得的 response 数据中解析需要的数据。因为从 appstore 查询得到的信息是 JSON 格式的,所以需要经过解析。解析之后得到的原始数据就是如下这个样子的:
{ resultCount = 1; results = ( { artistId = 开发者 ID; artistName = 开发者名称; price = 0; isGameCenterEnabled = 0; kind = software; languageCodesISO2A = ( EN ); trackCensoredName = 审查名称; trackContentRating = 评级; trackId = 应用程序 ID; trackName = 应用程序名称"; trackViewUrl = 应用程序介绍网址; userRatingCount = 用户评级; userRatingCountForCurrentVersion = 1; version = 版本号; wrapperType = software; } ); } 然后从中取得 results 数组即可,具体代码如下所示: NSDictionary *jsonData = [dataPayload JSONValue]; NSArray *infoArray = [jsonData objectForKey:@"results"]; NSDictionary *releaseInfo = [infoArray objectAtIndex:0]; NSString *latestVersion = [releaseInfo objectForKey:@"version"]; NSString *trackViewUrl = [releaseInfo objectForKey:@"trackViewUrl"]; 如果你拷贝 trackViewUrl 的实际地址,然后在浏览器中打开,就会打开你的应用程序在 appstore 中的介绍页面。当然我们也可以在代码中调用 safari 来打开它。 UIApplication *application = [UIApplication sharedApplication]; [application openURL:[NSURL URLWithString:trackViewUrl]]; -(void)onCheckVersion:(NSString *)currentVersion { NSString *URL = APP_URL; NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; [request setURL:[NSURL URLWithString:URL]]; [request setHTTPMethod:@"POST"]; NSHTTPURLResponse *urlResponse = nil; NSError *error = nil; NSData *recervedData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; NSString *results = [[NSString alloc] initWithBytes:[recervedData bytes] length:[recervedData length] encoding:NSUTF8StringEncoding]; NSDictionary *dic = [results JSONValue]; NSArray *infoArray = [dic objectForKey:@"results"]; if ([infoArray count]) { NSDictionary *releaseInfo = [infoArray objectAtIndex:0]; NSString *lastVersion = [releaseInfo objectForKey:@"version"]; if (![lastVersion isEqualToString:currentVersion]) { trackViewURL = [releaseInfo objectForKey:@"trackVireUrl"]; UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"更新" message:@"有新的版本更新,是否前往更新?" delegate:self cancelButtonTitle:@"关闭" otherButtonTitles:@"更新", nil] autorelease]; [alert show]; } } }
参考博客:http://hi.baidu.com/yanh105/item/7378a98ffca6a8804414cfa0
发表评论
-
SOCK_STREAM和SOCK_DGRAM
2015-07-23 20:08 1572sock_stream 是有保障的(即能保证数据正确传送到 ... -
SOCKET bind INADDR_LOOPBACK和INADDR_ANY的区别
2015-07-23 19:49 2011今天写程序时候,服务器端启动了,然后客户端总是连接不上,con ... -
htons()
2015-07-23 19:26 535在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺 ... -
使用symbolicatecrash分析crash文件
2015-03-10 11:32 1128原文 http://www.cnblogs.com/ning ... -
程序设计中的计算复用(Computational Reuse)
2015-02-10 10:18 613从斐波那契数列说起 ... -
didReceiveMemoryWarning
2015-02-09 16:11 493IPhone下每个app可用的内存是被限制的,如果一个app使 ... -
iOS开发中怎么响应内存警告
2015-02-09 16:08 609好的应用应该在系统内存警告情况下释放一些可以重新创建的资源。在 ... -
ASIHTTPRequest多次重复请求的问题
2014-12-17 14:34 594在一个车票订购的项目中,点击一次订购,却生成了2次订单,通过抓 ... -
从 CloudKit 看 BaaS 服务的趋势
2014-09-26 11:51 695从 6 月份 WWDC 苹果发布 ... -
ios编程--AVCapture编程理解
2014-09-26 11:03 8770、媒体采集的几个东西。这里所需要明白的是,在这个流程中,这里 ... -
NSURLProtocol
2014-09-25 10:42 7641、http://nshipster.com/nsurlpro ... -
关于iOS8的extension插件
2014-09-25 10:41 1223关于iOS8的extension插件,有兴趣的同学可以参考一下 ... -
【转】ios app在itunesConnect里面的几种状态
2014-08-05 10:34 1097Waiting for Upload (Yellow) Ap ... -
[转]iOS Dev (45) iOS图标与切片处理工具Prepo
2014-02-07 17:02 993iOS Dev (45) iOS图标与切片处理工具Prepo ... -
phoneGap开发IOS,JS调用IOS方法/phoneGap插件开发
2014-01-13 17:49 1211前沿 废话不说phoneGap是什么不多介绍,官方网站: h ... -
如何在IOS平台下搭建PhoneGap开发环境(PhoneGap2.5)
2014-01-13 15:23 704由于在下最近在做基于HTML5的跨平台移植,搭建环境的时候着实 ... -
xcode 4 制作静态库详解
2013-12-20 18:27 487最近在做Apple的IOS开发,有开发静态库的需求,本身IOS ... -
【翻译】ios教程-创建静态库
2013-12-20 18:19 3017作者:shede333 主页:htt ... -
封装自己的控件库:iPhone静态库的应用
2013-12-20 17:03 518由于iPhone 控件的极度匮乏和自定义组件在重用上的限制,在 ... -
iphone:使用NSFileManager取得目录下所有文件(遍历所有文件)
2013-11-18 17:56 830From:http://note.sdo.com/u/xiao ...
相关推荐
可以实现强制用户更新是一个实用程序,检查用户的当前安装的版本iOS应用程序对应用商店中当前可用的版本。如果一个新版本可用,UIAlertView的实例提出了新版本的用户通知他们,并给予他们更新应用程序的选项。
iTunes新版本已经不支持应用商店,该版本为iTunes老版本,支持应用商店 配合压缩包中的拦截软件实现。 操作步骤: 1-根据电脑位数,安装对应iTunes; 2-登录苹果账号; 3-在应用中搜索需要的软件; 4-运行抓包软件,...
可根据自己需求在版本更新时编辑将要显示的弹出框信息,提醒用户去appstore进行更新.有关于应用内跳转 AppStore 代码。在描述过长的时候支持滚动查看描述信息.有问题欢迎大家交流指正. /** * 检查版本...
iOS版本提示更新
可以检测版本号,并设置是否强制更新,好了,就说到这吧!
ios应用发的版本自动开检测开源代码,简单实用,依赖性小。应用程序在登录时运行该代码框架,请求服务器检测是否有新版本号
iOS中App版本的检测更新、如果有更新就跳转至App Store上更新
iOS 版本更新 demo
iOS app 启动时,弹出视图提示【发现新版本】, 1:更新view上显示新版本号、文件大小、更新日志内容。 2:点击【立即更新】按钮,定位至App Store当前app的更新页, 点击【以后再说】按钮,关闭更新View。 3:弹出...
一句话实现iOS版本更新提示 github地址:https://github.com/RockChanel/SELUpdateAlert 简书地址:https://www.jianshu.com/p/3f92dda8f85e
IOS6 常用ipa和iTunes10.5版本安装包
ios应用的升级更新评分提示
在论坛上到了一个oc版本的版本提示更新,然后看过代码之后改成swift版本的,并且做了一些小修改,
本文档用于下一版本 iOS 更新时,跟踪完善相关博文:http://blog.csdn.net/opengl_es/article/details/50177553 当该大版本有下一大版本产生即 iOS10,那么新建文档再更新
关于APP的版本更新的Demo
1,一句代码,使用类方法,简单方便。 2,获取Appstore上关于应用的所用信息,以模型的形式保存,使用方便。 3,既有系统的Alert,也可自定义Alert。
ios版本检查更新,不影响上线
通过IOS-ATS检测版本apatch配置,解压开 安装https openssl 把对应的so放入到mouad里面去 然后根据配置文件进行 操作
一句代码实现检测更新 -(void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; //一句代码实现检测更新 [self hsUpdateApp]; } 简书详细介绍地址: ...
这个功能就是主要用来,在web网站在线检测苹果p12证书是否掉签、还是被封、很方便、用法就是包里面文件放你网站目录,index.html是入口文件。