今天要写提示用户更新,之前是跟我们安卓一样后台写一个接口,每次都去请求然后接口控制提示更新,今天不想用这样了就去查了苹果自带API;其它的不多描述了,
问题:查询APP Store的应用相关信息,主要是获取版本号,对比之后提示更新
解决:调用itunes查询
NSString *urlStr = @"http://itunes.apple.com/lookup?id=1329918420";//id替换即可
[ShaHTTPTool POST:urlStr params:nil success:^(id json) {
NSString * version = json[@"results"][0][@"version"];//线上最新版本
NSString *currentVersion = [self version];//当前用户版本
BOOL result = [currentVersion compare:version] == NSOrderedAscending;
if (result) {//需要更新
NSString *updateStr = [NSString stringWithFormat:@"%@V%@",Localized(@"MainLoadFoundNewVersion"),version];
[self creatAlterView:updateStr];//调用弹框
}
} failure:nil];
//版本
-(NSString *)version
{
NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
return app_Version;
}
注:代码大概思路简单说一下
1.拼接url,使用我们要查询应用的id
2.调用封装好的网络工具类,发送请求
3.收到我们要查询的应用的相关信息,json包
4.解析对比判断,提示操作就可以
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;
}
);
}
网友评论