检测版本更新

最近闲来无事写了个iOS检测更新的DemoGitHub Demo地址

还是讲讲实现原理吧.

先说如果应用未上架去哪里拿APPID.
进入开发者后台.创建一个包.后就能看到.(这里拿我写的一个手电筒应用举个例子)
这里写图片描述

如果是已经上架的应用,考虑到Developer的网络(挂代理也慢).ASO搜索应用名.然后看看应用的ID了解一下.

  • 1.这里拿QQ举个例子.
    这里写图片描述
    当然,资质栏也可以看到
    这里写图片描述
  • 2.第二步,在下面列出来的地址里面输入你的APPID
    http://itunes.apple.com/cn/lookup?id=你的APPID
    比如说QQ的:
    http://itunes.apple.com/cn/lookup?id=444934666
  • 3.查看数据结构(我的chrome是直接下载文件了).
    这里写图片描述
    文件打开发现格式和json很相似.
    这里写图片描述
    直接放入json在线解析里面解析一下
{
    "resultCount": 1,
    "results": [{
        "artistViewUrl": "https://itunes.apple.com/cn/developer/tencent-technology-shenzhen-company-limited/id292374531?uo=4",
        "artworkUrl60": "http://is4.mzstatic.com/image/thumb/Purple128/v4/63/cc/fd/63ccfd12-2618-d72a-669b-2f8152fa9b9d/source/60x60bb.jpg",
        "artworkUrl100": "http://is4.mzstatic.com/image/thumb/Purple128/v4/63/cc/fd/63ccfd12-2618-d72a-669b-2f8152fa9b9d/source/100x100bb.jpg",
        "screenshotUrls": ["http://is5.mzstatic.com/image/thumb/Purple118/v4/5c/1c/c1/5c1cc1d2-05a7-b7ef-ad57-f6cbc2be1d35/source/392x696bb.jpg", "http://is2.mzstatic.com/image/thumb/Purple128/v4/8e/26/80/8e268021-163b-2d62-4f20-43f3837176f6/source/392x696bb.jpg", "http://is5.mzstatic.com/image/thumb/Purple118/v4/42/99/df/4299dfdb-1261-6165-d06d-a1fad0563653/source/392x696bb.jpg", "http://is5.mzstatic.com/image/thumb/Purple128/v4/9a/4f/02/9a4f02df-d3e6-029f-60de-3ca999a8bf0b/source/392x696bb.jpg"],
        "ipadScreenshotUrls": [],
        "appletvScreenshotUrls": [],
        "artworkUrl512": "http://is4.mzstatic.com/image/thumb/Purple128/v4/63/cc/fd/63ccfd12-2618-d72a-669b-2f8152fa9b9d/source/512x512bb.jpg",
        "supportedDevices": ["iPad2Wifi-iPad2Wifi", "iPad23G-iPad23G", "iPhone4S-iPhone4S", "iPadThirdGen-iPadThirdGen", "iPadThirdGen4G-iPadThirdGen4G", "iPhone5-iPhone5", "iPodTouchFifthGen-iPodTouchFifthGen", "iPadFourthGen-iPadFourthGen", "iPadFourthGen4G-iPadFourthGen4G", "iPadMini-iPadMini", "iPadMini4G-iPadMini4G", "iPhone5c-iPhone5c", "iPhone5s-iPhone5s", "iPadAir-iPadAir", "iPadAirCellular-iPadAirCellular", "iPadMiniRetina-iPadMiniRetina", "iPadMiniRetinaCellular-iPadMiniRetinaCellular", "iPhone6-iPhone6", "iPhone6Plus-iPhone6Plus", "iPadAir2-iPadAir2", "iPadAir2Cellular-iPadAir2Cellular", "iPadMini3-iPadMini3", "iPadMini3Cellular-iPadMini3Cellular", "iPodTouchSixthGen-iPodTouchSixthGen", "iPhone6s-iPhone6s", "iPhone6sPlus-iPhone6sPlus", "iPadMini4-iPadMini4", "iPadMini4Cellular-iPadMini4Cellular", "iPadPro-iPadPro", "iPadProCellular-iPadProCellular", "iPadPro97-iPadPro97", "iPadPro97Cellular-iPadPro97Cellular", "iPhoneSE-iPhoneSE", "iPhone7-iPhone7", "iPhone7Plus-iPhone7Plus", "iPad611-iPad611", "iPad612-iPad612", "iPad71-iPad71", "iPad72-iPad72", "iPad73-iPad73", "iPad74-iPad74", "iPhone8-iPhone8", "iPhone8Plus-iPhone8Plus", "iPhoneX-iPhoneX"],
        "advisories": ["偶尔/轻微的色情内容或裸露", "偶尔/轻微的成人/性暗示题材"],
        "isGameCenterEnabled": false,
        "kind": "software",
        "features": [],
        "trackCensoredName": "QQ",
        "trackViewUrl": "https://itunes.apple.com/cn/app/qq/id444934666?mt=8&uo=4",
        "contentAdvisoryRating": "12+",
        "averageUserRatingForCurrentVersion": 4.0,
        "languageCodesISO2A": ["ZH"],
        "fileSizeBytes": "261605376",
        "userRatingCountForCurrentVersion": 18602,
        "trackContentRating": "12+",
        "trackId": 444934666,
        "minimumOsVersion": "8.0",
        "currency": "CNY",
        "wrapperType": "software",
        "version": "7.5.0",
        "artistId": 292374531,
        "artistName": "Tencent Technology (Shenzhen) Company Limited",
        "genres": ["社交", "娱乐"],
        "price": 0.00,
        "description": "-----QQ•乐在沟通-----\n\n\n√服务超过90%的移动互联网用户\n√多人视频、文件多端互传,不断创新满足沟通所需\n√致力于打造欢乐无限的沟通、娱乐与生活体验\n\n\n-----主要功能-----\n\n\n•聊天消息:随时随地收发好友和群消息,一触即达。\n•语音通话:两人、多人语音通话,高清畅聊。\n•视频聊天:亲朋好友,想念不如相见。\n•文件传输:手机、电脑多端互传,方便快捷。\n•空间动态:更快获知好友动态,分享生活留住感动。\n•厘 米 秀:换装扮、炫动作、偷胶囊,年轻人最爱的潮爆玩法。\n•个性装扮:主题、名片、彩铃、气泡、挂件自由选。\n•游戏中心:天天、全民等最热手游,根本停不下来。\n•移动支付:话费充值、网购、转账收款,一应俱全。\n•QQ运动:同步苹果-健康(HealthKit)运动数据,与好友PK,快乐健康一起玩!\n•QQ看点:专为年轻人打造的个性化内容推荐平台。\n\n\n乐在沟通18年,聊天欢乐9亿人!\n\n\n-----联系我们-----\n\n\n如在使用过程中遇到任何问题,请联系我们:\n- 在线帮助:进入QQ设置 -> 关于QQ -> 帮助与反馈\n- 客服热线:0755 -83763333(服务时间:8:00 - 23:00)\n\n\n-----QQ会员/超级会员/黄钻连续包月服务说明-----\n1、QQ会员连续包月服务有以下四种订购类型: \n12元/1个月;\n30元/3个月;\n60元/6个月;\n118元/12个月。\n\n\n超级会员连续包月服务有以下四种订购类型:\n25元/1个月;\n60元/3个月;\n118元/6个月;\n238元/12个月。\n\n\n黄钻连续包月服务有以下一种订购类型:\n10元/1个月。\n\n\n2、订购QQ会员/超级会员/黄钻服务会通过iTunes账户直接支付。\n3、在订购服务到期前24小时,系统将按订购类型进行自动续订和扣除相应费用。\n4、如需关闭连续包月服务,请至少提前24小时在“账户设置”中进行操作。\n5、隐私政策及使用条款:\nQQ会员/超级会员:https://m.vip.qq.com/clubact/2017/iap/privacy-policy.html\n黄钻:https://qzs.qzone.qq.com/qzone/qzact/act/2017/iap-autorenew-rule/index.html\n\n\n*加入寻找丢失儿童公益项目,GPS在后台运行可能会影响电池续航时间",
        "bundleId": "com.tencent.mqq",
        "trackName": "QQ",
        "formattedPrice": "免费",
        "primaryGenreName": "Social Networking",
        "genreIds": ["6005", "6016"],
        "currentVersionReleaseDate": "2018-02-09T03:12:59Z",
        "releaseNotes": "【本次更新】\n红包互动乐趣多,趣味聊天新创意!\n1. 短视频讨红包体验优化,增强红包收发场景下的系统稳定性;\n2. 视频通话表情红包,欢乐刷脸抢红包,可将精彩表情分享给好友。",
        "isVppDeviceBasedLicensingEnabled": true,
        "releaseDate": "2011-06-23T03:33:55Z",
        "primaryGenreId": 6005,
        "sellerName": "Tencent Technology (Shenzhen) Company Limited",
        "averageUserRating": 3.0,
        "userRatingCount": 614476
    }]
}

上面这段是经过在线json解析序列化之后的json内容.我们可以看到有一个version字段.我们需要做的就是判断这个version字段和我们App是否相同.不同就是有新版本了.

  • 4.获取本地App版本号
    首先,有上架经验,或者这么说吧.有创建过一个App,哪怕是Single App的人一般都会注意info.Plist.那边有一个Version.
    那么.我们如何获取这个Version呢.
    • 4.1.首先观察一下Plist中这个Version的字段描述.
      这里写图片描述
    • 4.2.右键看下真实类型(虽说描述类型有助于我们看懂这个字段是干嘛的)
      这里写图片描述
    • 4.3.字段名CFBundleShortVersionStringget
      这里写图片描述
  • 5.使用代码获取本地App的Version
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
  • 6.使用NSString的- (BOOL)isEqualToString:(NSString *)aString;比较是否相同.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值