iTunes可以提供app的版本信息,主要通过appid获取,如 http://itunes.apple.com/lookup?id=946449501,使用时只需要到iTunes查找自己的appid,修改成自己的appid即可
使用HTTP模式读取此链接可以获取app信息的json字符串
贴出部分代码
-(void)checkVersion
{
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:strURL]];//strURL为你的appid地址
[request setRequestMethod:@"POST"];
[request setDelegate:self];
[request startAsynchronous];
}
-(void)requestFinished:(ASIHTTPRequest *)request
{
NSString *recStr = [[NSString alloc] initWithData:request.responseData encoding:NSUTF8StringEncoding];
recStr = [recStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];//返回的字符串有前面有很多换行符,需要去除一下
NSDictionary *resultDic = [JSONHelper DeserializerDictionary:recStr];//jsonhelper是我封装的json解析类,你可以使用自己方式解析
NSArray *infoArray = [resultDic objectForKey:@"results"];
if (infoArray.count > 0) {
NSDictionary* releaseInfo =[infoArray objectAtIndex:0];
NSString* appStoreVersion = [releaseInfo objectForKey:@"version"];
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];
NSArray *curVerArr = [currentVersion componentsSeparatedByString:@"."];
NSArray *appstoreVerArr = [appStoreVersion componentsSeparatedByString:@"."];
BOOL needUpdate = NO;
//比较版本号大小
int maxv = (int)MAX(curVerArr.count, appstoreVerArr.count);
int cver = 0;
int aver = 0;
for (int i = 0; i < maxv; i++) {
if (appstoreVerArr.count > i) {
aver = [NSString stringWithFormat:@"%@",appstoreVerArr[i]].intValue;
}
else{
aver = 0;
}
if (curVerArr.count > i) {
cver = [NSString stringWithFormat:@"%@",curVerArr[i]].intValue;
}
else{
cver = 0;
}
if (aver > cver) {
needUpdate = YES;
break;
}
}
//如果有可用的更新
if (needUpdate){
trackViewURL = [[NSString alloc] initWithString:[releaseInfo objectForKey:@"trackViewUrl"]];//trackViewURL临时变量存储app下载地址,可以让app跳转到appstore
UIAlertView* alertview =[[UIAlertView alloc] initWithTitle:@"版本升级" message:[NSString stringWithFormat:@"发现有新版本,是否升级?"] delegate:self cancelButtonTitle:@"暂不升级" otherButtonTitles:@"马上升级", nil];
[alertview show];
}
}
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 1){
UIApplication *application = [UIApplication sharedApplication];
[application openURL:[NSURL URLWithString:trackViewURL]];
}
}
分享到:
相关推荐
用于检查 AppStore 上是否有新版本的代码。 此代码是基于代码的版本。 用法 您可以通过调用强制更新 CheckUpdate.shared.showUpdate(withConfirmation: false) 或者用户可以通过调用选择是现在更新还是稍后更新 ...
ConcentricChaos:iOS游戏同心混沌-在iOS App Store上可用
LGStore更新提醒 一个简单的类,用于检查 appstore 上是否有可用的 iOS 应用更新。
它会在App Store上检查您的应用程序的最新可用版本,并通知用户更新该应用程序。我为什么要使用它? 想象一下添加一行代码以使您的所有用户都保持最新更新。 这样一来,您就可以加快发布最新版本的速度。 那不是很...
iOS 10 App Store Web端口 该项目采用iOS 10 App Store的UI,并通过全面的响应式Web设计支持将其移植到Web上。 利用CSS3 Media Queries,该站点可根据浏览器的宽度在iPhone和iPad布局之间切换。 使用最小的...
向下一代iOS应用开发前进,你准备好了吗 伴随着应用的下载量超过5百万,而且这一数字仍在增长,应用开发可以说是获利颇丰,但是你必须能够...使用本指南,你将能够创建最前沿的应用,并为发布到App Store做好准备。
实时位置共享此用于实时位置共享的开源应用程序是使用HyperTrack构建的。 ...适用于iOS的HyperTrack Live在公共App Store上可用。 :waving_hand:阅读我们的博客文章公告,以了解有关此sa的更多信息
适用于 iOS 应用的简单更新检查器,显示带有更新发行说明的警报视图,以及当您的应用在 App Store 上有可用更新时转到 App Store 的选项。 只需将其放入您的应用程序项目中,并在应用程序启动完成后的适当时间调用...
让我们更新到 AppStore 中可用的新版本! 特征 本地通知——从 0.0.2 开始。 可定制的回调。 您可以使用您最喜欢的视图类来提示新版本。 多种语言。 0.0.1 版中包含 25 种语言。 更新周期控制。 每日/每周/每月 ...
在浏览器上打开某个应用程序的页面后,您可以看到的有关某个应用程序的所有数据都是该项目中可用的数据(减去描述和文本评论)。 您不必输入任何 Apple 帐户凭据,因为此爬网程序的行为类似于“已注销”用户。 ...
PSUpdateApp会通知您AppStore或任何其他地方有可用的iOS新版本的应用程序。 如果有新版本可用,PSUpdateApp将显示一个UIAlertView,它会通知您较新的版本,并为您提供更新应用程序的选项。 该组件基于框架,使用方法...
该游戏也可以在Mac App Store中获得: (git分支母版) 该游戏已使用开发。 大多数源代码都是用Objective C编写的。该游戏可在OS X 10.6或更高版本上运行。 iOS版本也可以在其他存储库中获得。法律资料游戏的源代码...
Parallels Client是易于安装的软件,可提供对Parallels远程应用程序...通过下载的Parallels客户端用户能够安全地访问工作资源从Windows ®,在Linux,Mac ®,的iOS,安卓™,瘦客户机的是,Chromebook ™,等等。
ipatool是一个命令行工具,可让您在App Store上搜索iOS应用程序并下载该应用程序包的副本,称为ipa文件。 IPATool ipatool是一个命令行工具,可让您在App Store上搜索iOS应用并下载该应用包的副本,称为ipa文件。 ...
启动 iTunes,在导航栏选择 iTunes store 4.将显示页拉至最下面,选择管理->更改国家或地区 5.选择切换到美国(United States) 6.选择找到 FREE APPS(免费软件) 点击 FREE APP 接着出现一个对话框,点击“创建新账户”...
iOS版阅读,目前处于持续开发初级阶段,目前侧重点先是可用,难免个人没注意到的细节导致解析问题/显示方面的BUG,如果遇到问题欢迎在Appstore留言,隔一段时间我会集中回复,但是不要因为这种问题恶意差评。...
network_ios:与ios_system相关的网络相关命令 是与AppStore规则和iOS编程API兼容的system()的替代。 命令作为动态库提供,并根据用户的要求进行加载。 本身包含对文件(ls,mv,rm,tar,curl,grep等)...
基于 MacOS 12.0.1 Monterey / Xcode 13.1 (Xcode 13.1 适配的LLVM版本为12.0)制作,能够在编译时对控制流、指令、字符串进行加密和混淆,防止被破解,也有助于通过苹果审核,是提审 iOS APP 的编译利器。...
您可以从 App Store 或 Google Play Store 下载我们的应用程序,或自行构建它们。 我们计划每月发布具有新功能的更新 - 检查更新日志以了解当前支持的功能! 重要提示:如果您自行编译 Mattermost 移动应用程序,您...
Apple Store上传工具Application Loader,独立运行工具,以后不要用Xcode了,官方给出的工具是Xcode里的Application Loader已经被独立出来了,Xcode里已经没有了。 适用于IOS程序上架的人员; 这里有个最重要的点...