如果我们需要实现应用程序版本的自动更新提示,那么我们需要获取当前运行程序的版本信息和 appstore里发布的最新版本信息。当前运行程序的版本信息,可以在 mainBundle 里面获取:
NSDictionary *infoDict = [[NSBundle mainBundle]infoDictionary];
NSString *currentVersion = [infoDictobjectForKey:@"CFBundleVersion"];
而 appstore 里发布的最新版本信息获取稍微复杂一些,有两种方案,思路都是一样的:
其一:在某个服务器上存储最新发布的版本信息,需要的时候向该服务器查询;
其二:在需要的时候向 appstore 查询;
在这里我来介绍第二种方法:向 appstore 查询应用程序信息,包括作者,版本,app介绍页面地址等信息。
英文好的同学可以参考apple的文档:
www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html
具体步骤如下:
1,用 POST 方式发送请求:
http://itunes.apple.com/search?term=你的应用程序名称&entity=software
更加精准的做法是根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的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 = [dataPayloadJSONValue];
NSArray *infoArray = [jsonDataobjectForKey:@"results"];
NSDictionary *releaseInfo = [infoArrayobjectAtIndex:0];
NSString *latestVersion = [releaseInfoobjectForKey:@"version"];
NSString *trackViewUrl = [releaseInfoobjectForKey:@"trackViewUrl"];
如果你拷贝 trackViewUrl 的实际地址,然后在浏览器中打开,就会打开你的应用程序在 appstore中的介绍页面。当然我们也可以在代码中调用 safari 来打开它。
UIApplication *application = [UIApplicationsharedApplication];
[application openURL:[NSURL URLWithString:trackViewUrl]];
分享到:
相关推荐
一个Slack机器人,用于从Pebble应用商店中获取有关应用的详细信息。 它目前在Pebble Development Slack社区中运行。 指令 @ appstore-bot:APP NAME 这将搜索Pebble appstore并发布排名靠前的结果的详细信息。 @ ...
App Store Connect Notifier是一个node.js应用程序,可直接从App Store Connect获取您的应用程序信息,并将更改作为机器人发布到Slack中。由于App Store Connect还没有提供事件webhooks,因此这些脚本在fastlane的的...
Google-Play-Store-App-Info-Extractor 从 Google Play 商店提取应用信息。 该脚本适用于应用程序类别中的所有热门付费、热门免费部分。 此外,您还可以使用其Top Paid 、 Top Free或Top Grossing URLs 从Top Charts...
在自己的Pebble应用程序上使用我的Appstore 设置很容易! 我将在此处放置一个快速链接以立即对其进行设置,但与此同时,请以获得您自己的链接。 (注意:此网站看起来像是在iOS上的bug。)本国的该应用程序商店支持...
该库尝试将Appstore过渡添加到您自己的应用程序中。 目标是尽可能简单地集成到应用程序中,同时保持灵活性和自定义性。 最高解雇 底部解雇 这个怎么运作 appstore-card-transition使用...
Stackato App Store是Stackato的一项功能,使人们可以直接从其来源安装应用程序。 Stackato管理员可以将其Stackato安装指向1个或多个“商店”。 默认情况下,Stackato指向将数据存储在此存储库中。 商店只是指向...
Laravel开发-appmarket 此程序包将从Play Store和App Store获取有关应用程序的信息。
此模块在google playstore或ios app store上检查应用程序的版本。 通过成功编写代码,您可以进行强制更新。 安装 $ npm install --save react-native-store-version 更新日志 v1.3.0 如果失败,则抛出错误。 添加...
它基于和来帮助从移动应用程序商店获取数据。 我希望将来增加更多商店(Microsoft Store,Amazon Appstore等) 出口商支持的指标 对于此早期版本,此Prometheus Exporter导出以下数据: 的iTunes 第一版得分 评论...
App Store应用程序将向您显示您的购买,但它使用了反向时间顺序列表(最新显示在顶部)。 无法搜索,也无法按字母顺序排序。 这就是该脚本的来源。 如何使用此脚本 您必须在App Store应用中启用“调试”菜单。 这...
由于GitHub Pages是静态的,因此不会有后端从App Store获取最新的应用程序。 该项目还旨在作为一个测试,以查看我在多年的全栈开发中成长了多少。 我打算尽可能多地支持设备和浏览器,并且已经设法实现了对IE9的向...
获取任何App Store应用程序图标,Google Play应用程序图标,公司徽标或网站的Favicon的图像 最新更新(2017年3月27日):插件已修复,现在支持Sketch 41+,并增加了新功能:通过Clearbit API获取任何公司徽标 它是...
该应用程序鼓励家庭成员学习和探索丹麦的自然风光,并提供一个平台,使学习和娱乐成为一体。 有关更多信息:请访问 在Google Play和App Store中可用 该应用使用以下内容构建: 本机脚本 角度的 打字稿 Firebase...
加载屏幕将在您启动应用程序后立即出现,并且我在后台触发了AsyncTask来获取详细信息,例如应用程序名称,等级,描述价格等,并在获取和解析竞争的加载屏幕后立即将其与列表视图一起移除。 API HIT COUNT和NO OF ...
*** 不再支持或维护此... 在任何帖子或页面中,插入以下短代码: [ios_app id="1234"] (其中“1234”是您应用程序的 App Store ID)。 您还可以指定这样的下载链接: [ios_app id="1234" download_url="http://www.
它作为不通过App Store或Google Play的Expo应用程序分发。 安卓 安装Expo应用程序。 / 首先从扫描QR码,或按Open project using Expo 。 的iOS 看起来它过去与Android的工作方式相同,但由于苹果的限制而被停止了。...
应用程序二进制文件和小型图标 大型图标 iPhone/iPod touch和iPad程序的屏幕截图 Mac OS X程序的屏幕截图 签署您的合约 翻译您的元数据(可选) 提供出口许可授权 额外的插图(可选) 默认选项设置页面 iTunes ...
APP: WEATHER MEOW是显示当前天气的简单应用程序。 它是根据(但并非全部)基于《材料设计准则》构建的。 主要的用户界面是为了向Apple的App Store设计(iOS 11.3版)致敬。 由自豪地生产特别感谢:daimajia的...
连接 asconnect是的Python包装器。 该包装器并未涵盖所有API,但涵盖了基础知识,包括: ...大多数操作都需要一个应用程序标识符。 这与您选择的捆绑包ID不同,而是Apple生成的ID。 最简单的方法是
一、在开始菜单,右键打开Windows PowerShell(管理员),在Windows PowerShell(管理员)页面,输入以下命令,获取您电脑所安装的Windows10内置程序的版本:Get-AppxPackage -allusers 检查是否有附件中安装包, ...