iOS 利用 AppStore 版本号检测当前版本和升级

    开发中我们可能会遇到这样的需求,当 AppStore 中有新版本迭代更新,在用户点开 APP 的时候弹框提醒客户去 AppStore 更新 APP。这里面就有个关键点,判断当前 APP 与 AppStore 中的版本高低,若一样,则无需进行提示;反之则弹框提示(用户使用版本不会比 AppStore 版本高)。下面就了解如何获取 APP 在 AppStore 中的版本号。

    版本号

    CFBundleShortVersionString(Version) 指定包的发布版本号,标识应用程序的发布迭代版本。APP Store 所识别到的版本号。发布版本号是三个时期分离整数组成的字符串。例如 1.0.1。第一个整数表示应用程序的主版本号,表示实现新功能或重大变化。第二个整数代表次版本号,表示实现不太突出的功能。第三个整数代表修正版本号,表示维护已发行版本。

    CFBundleVersion(Build) 指定包的构建版本号,是Xcode里的一个构造版本。

如果项目上线的时候,先打一个IPA的包上传 Version为1.0.1 build为1.0.1,这时候Version1.0.1 的包出现问题,需要重新打包上传,可以依旧使用version1.0.1,但是这时候的build必须要换,如果依然用这个来进行打包,上传的时候他会说 在你的商店里已经有了一个build为1.0.1的包,所以可以把build改为1.0.2。

From Xcode Help Document

    升级

    关于iOS版本升级,苹果是不允许用户有强制用户升级的提示的,但是为了让用户知道APP更新了,一般APP里面是会有版本升级提示。下面来介绍一下一般都是怎么做的。

    Tips:

    1、用 "https://itunes.apple.com/lookup?id=" 获取版本号,会出现延迟或请求回来的版本号不稳定还有就是与刚刚发布的版本号对不上。 这个是连接国外的服务器,所以会有延迟。 解决:使用 "https://itunes.apple.com/cn/lookup?id=" 路径。

    2、如果上架的时候只选中国,而且又用"https://itunes.apple.com/lookup?id=" 获取版本号,那么 resultCount 就为 0,获取不到版本数据。解决方法同上。

    3、曾经测试反馈在 APP 刚启动时候都是白屏的情况。发现是版本号请求引起线程阻塞,所以要注意多线程问题。

    4、应用程序还没有发布,如何获取它的 id 啊。不急,App Store Connect 创建要发布应用的时候会生成这个 id 的。

    5、请求中需要的 id,登录开发者账号到 App Store Connect 上查看 App ID。

    More Thinking ,如何进行强制更新和非强制更新?

    Was this help article useful? Send feedback.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 审核申诉&申请加速审核 若您在提交审核后希望加速审核,或被拒后需要进行申诉可点击按钮联系苹果官方。 审核申诉 ...
    剩饭阅读 4,781评论 2 8
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,020评论 3 119
  • 2018-3-5星期一晴 今天是开学第一天,早晨闹钟一响,儿子第一个起床。吃过早饭送儿子去学校,路上儿子对我说:“...
    健康是福_3d2d阅读 129评论 0 0
  • 关于拔牙 牙疼很久了,相比钻心的剧痛,沉闷的隐痛来得更要命,真是磨人的过程。 原来世上还有那么痛苦的事,洗牙。生孩...
    本来不算笨阅读 447评论 0 2