ios应用启动后的自动版本检测方式

今天意外的发现了appstore居然还提供通过url获取json格式的客户端信息链接:

http://itunes.apple.com/lookup?id=$id

通过此地址可以获取应用的icon、介绍、截图、版本号以及版本说明

例如请求秘密的json信息:

Java代码  

  1. http://itunes.apple.com/lookup?id=839415177

Java代码  

  1. {
  2. "resultCount":1,
  3. "results": [
  4. {"kind":"software", "features":[],
  5. "supportedDevices":["iPodTouchFifthGen", "iPad2Wifi", "iPadFourthGen", "iPadFourthGen4G", "iPadMini4G", "iPadThirdGen", "iPadMini", "iPhone5", "iPhone5c", "iPad23G", "iPhone4", "iPhone4S", "iPadThirdGen4G", "iPhone5s"], "isGameCenterEnabled":false,
  6. "screenshotUrls":["http://a4.mzstatic.com/us/r30/Purple4/v4/3f/ee/08/3fee086d-cd99-2ac0-2159-99372c989ad3/screen1136x1136.jpeg", "http://a3.mzstatic.com/us/r30/Purple6/v4/07/a6/2d/07a62d2a-0bdc-ae5f-2239-532c364e9641/screen1136x1136.jpeg", "http://a2.mzstatic.com/us/r30/Purple4/v4/3f/e0/ca/3fe0ca8d-67bd-2923-d3c1-797dd362c0cb/screen1136x1136.jpeg", "http://a2.mzstatic.com/us/r30/Purple6/v4/4a/0d/9f/4a0d9f68-79fb-f0ca-d0c0-570da23ae037/screen1136x1136.jpeg", "http://a1.mzstatic.com/us/r30/Purple4/v4/04/7b/63/047b63d5-1f09-04fd-1c5c-3fabf45b33fc/screen1136x1136.jpeg"], "ipadScreenshotUrls":[], "artworkUrl60":"http://a1246.phobos.apple.com/us/r30/Purple/v4/c9/71/71/c97171eb-c2f9-4b13-378d-d5cfdde611b4/Icon.png", "artworkUrl512":"http://a1418.phobos.apple.com/us/r30/Purple/v4/33/d0/63/33d063f6-c2d1-a2fd-4490-d2ab86ac071b/mzl.cctcjnum.png", "artistViewUrl":"https://itunes.apple.com/us/artist/shenzhen-wumii-technology/id593518769?uo=4", "artistId":593518769, "artistName":"Shenzhen Wumii Technology Limited", "price":0.00, "version":"1.1",
  7. "description":"「秘密」是匿名版的朋友圈\n你可以和朋友们毫无顾忌地匿名分享秘密、八卦、爆料、真心话等等劲爆内容!\n\n「秘密」不是树洞,也不是漂流瓶\n你看到的秘密就来自你身边的朋友!\n同样,你发的秘密也会向你朋友展示,让最关心你的人的给你反馈!\n\n「秘密」让你带上面具,卸下身份\n发表和评论都是匿名的,就好像你和朋友都带上了面具,正在参加一个假面派对一样!卸下了身份,朋友们都可以畅所欲言!\n\n【主要功能】\n\n1.查看来自朋友的秘密\n2.匿名发表秘密和评论\n3.支持精美的图文排版\n4.极其严格的隐私保护\n\n\n【当朋友们都匿名了,他们会怎样?】\n\n在朋友圈:\n「还是宝马5系开着舒服,是时候和我那辆奥迪A4说拜拜了!」\n在秘密:\n「一早醒来我身上就背负着房贷车贷各种贷款,压力好大,活着真累!」\n\n在朋友圈:\n「能每天睁开眼睛跟老公说早安,这就是我最大的幸福!」\n在秘密:\n「3年前我走上了长江二桥,打算结束生命,但因他留下来了。他现在是我老公 。」\n\n更多朋友的秘密,等你发现\u2026\u2026\n\n\n官方微博:@秘密App", "currency":"USD", "genres":["Social Networking", "Lifestyle"], "genreIds":["6005", "6012"], "releaseDate":"2014-04-04T09:58:58Z", "sellerName":"Shenzhen Wumii Technology Limited", "bundleId":"com.wumii.ios.WMMimi", "trackId":839415177, "trackName":"秘密-朋友圈的匿名爆料", "primaryGenreName":"Social Networking", "primaryGenreId":6005, "releaseNotes":"- 新增重置密码功能\n- 新增评论显示楼层\n- 支持国际手机号注册登录\n- 提升应用稳定性", "formattedPrice":"Free", "wrapperType":"software", "trackCensoredName":"秘密-朋友圈的匿名爆料", "languageCodesISO2A":["EN", "ZH"], "fileSizeBytes":"15325961", "contentAdvisoryRating":"12+", "averageUserRatingForCurrentVersion":4.0, "userRatingCountForCurrentVersion":16, "artworkUrl100":"http://a1418.phobos.apple.com/us/r30/Purple/v4/33/d0/63/33d063f6-c2d1-a2fd-4490-d2ab86ac071b/mzl.cctcjnum.png", "trackViewUrl":"https://itunes.apple.com/us/app/mi-mi-peng-you-quan-ni-ming/id839415177?mt=8&uo=4", "trackContentRating":"12+", "averageUserRating":4.0, "userRatingCount":26}]
  8. }

回想之前做的ios版本检测都是客户端请求服务器,服务端返回最新版本信息以及跟新说明,并且服务端需要维护一个ios版本更新记录,实际上是把更新功能复杂化了;

后续ios版本更新可以采用:

1.后台只维护一个appstore的id

2.客户端每次检测升级直接请求appstore,获取appstore的版本信息,然后本地判断是否有新版本,有则提示更新

ios应用启动后的自动版本检测方式

时间: 2024-10-11 22:45:46

ios应用启动后的自动版本检测方式的相关文章

keepalived启动后iptables自动添加Drop规则

keepalived 在启动后如果参数配置不当,会在iptables中自动添加一条DROP VIP的规则.这里的一些参数可能会造成这个问题. 1.在配置中添加了strict 或 noaccept参数. 2.在全局配置下使用了vrrp_strict 参数.此参数为严格控制VRRP协议,不支持单播模式,注释掉此选项,将不会默认添加DROP规则.

ios配置启动后的第一个页面

在AppDelegate.swift中配置ViewController.swift为启动后的第一个页面 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions

启动Hadoop时,DataNode启动后一会儿自动消失的解决方法

查看slaver1/2的logs,发现 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool <registering> (Datanode Uuid unassigned) service to localhost/127.0.0.1:9000java.io.IOException: Incompatible clusterIDs in /u

关于dorado studio5.4启动后未自动打开浏览器问题解决

本人从事软件开发数年有余,涉猎广泛,整编资料无数.一直未发于网络,自今始,将以后工作及学习中心得体会进行梳理,共享与网络,互相学习! 近日突然想一下Dorado的示例时,怎么启动总是无反应呢?静心细想,原为最近处理大数据等要求,将系统JDK默认设置成了1.8.0.74,如下图1: 决绝方法: 直接将系统JDK换回1.6版本 [注:经本人测试,JDK1.7也不行] 再次启动,问题解决: 由于Dorado5.4发布时间较早,故不支持新版本的JDK. 注:转载请注明出处,谢谢!

虚拟桌面启动后自动全屏

如果客户端有多个显示器,打开虚拟桌面后,如果需要进入到全屏模式(覆盖所有的客户端显示器),目前还是需要一定技巧的,需要把桌面拖放到两个屏幕的中间,然后全屏才可以实现.否则,简单的全屏只会覆盖当前所在的屏幕.这对普通用户来说,使用有一定的要求,所以,我们可以通过简单的调整,让虚拟桌面在启动后,自动进入到全屏状态,免去了手动全屏的操作. 我们可以通过以下几种方式来实现: 修改ICA文件:针对所有用户生效修改客户端注册表全局设置:对使用客户端用户的所有桌面生效修改特定桌面组的注册表设置:只对特定桌面组

iOS程序启动原理

程序启动原理 掌握 Info.plist和pch文件的作用 UIApplication的常见使用 AppDelegate的代理方法 UIApplication.AppDelegate.UIWindow.UIViewController的关系 iOS程序的完整启动过程 … Info.plist常见的设置 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个

iOS程序启动原理的理解

应用的生命周期(从启动到退出):当用户点击应用图标之后,应用就开始启动.应用启动完成后,就会展示一系列的视图,和用户进行各种各样的交互(如滑动.点击).当用户退出应用后,该应用就无法和用户进行交互.这一过程就是应用的生命周期体现. 在介绍应用启动过程及原理之前,先来了解一些概念以及其作用. 1.UIApplication UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序.每一个应用都有自己的UIApplication对象,而且是单例的,如果试图

[Elixir002]节点启动后自动连接其它节点

问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动一个master节点,Node.list可以看到当前节点并没有连接到任何节点 iex --cookie secret --name [email protected] Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-thre

linux启动后自动登录并运行自定义图形界面程序

在<Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法>一文中提到linux启动在以后运行一个独占显示器的图形程序的两种办法. 1.不启动xserver,使用fb或者directfb图形模式: 2.启动xserver不启动桌面系统. 第一种方法性能并不一定高,因为支持fb的显卡驱动可能找不到,就是用上显卡驱动了也需要CPU大量参与.另外如果用这种方式可供选择的图形程序开发技术就受限了.所以这种方法通常用在嵌入式环境下. 第二种方法只要显卡驱动了,CPU就能得到解