美文网首页iOS - APP自动更新将来跳槽用iOS开发实用技术
iOS开发 | 如何给第一版App添加自动更新功能?

iOS开发 | 如何给第一版App添加自动更新功能?

作者: Lol刀妹 | 来源:发表于2017-08-01 15:46 被阅读624次
    iu

    遇到的问题

    跳转到App store的某个App页面需要此App的 Apple ID(可以在iTunes Connect查看),而未上传构建版本的App是没有Apple ID的。所以如果想通过请求苹果API来获取线上版本号来与用户App版本号来对比是无法实现的。

    解决方法

    要实现这个功能需要后台配合,也就是说让后台控制更新:进入App时请求接口,根据后台返回的内容决定是否弹窗提示更新。

    后台返回的字段主要有:

    is_prompt_update (int): 是否提示更新:0-不提示,1-提示,
    url (string): 下载地址,
    is_force_update (string): 是否强制要求更新:0-不强制,1-强制
    
    • is_prompt_update决定前端是否弹窗提示更新
    • url是跳转的地址
    • is_force_update表示是否是强制更新,若强制更新则弹窗只有一个确定按钮,点击后跳转到App Store

    检测更新的代码写到哪?

    假如写到didFinishLaunchingWithOptions里面,后台要求的是强制更新,用户点击确定按钮后跳转到AppStore,这个时候用户又返回到APP,所谓的强制更新就失效了。所以我是把检测更新代码写到applicationDidBecomeActive方法里的。

    后续工作

    上传构建版本后,这个时候你就可以去iTunes Connect查看它的Apple ID了,然后把App store的URL告诉后台小伙伴,让他们配置,等第二版的App上架后,后台如果设置弹出更新,第一版的用户就能根据后台配置的URL跳转到指定的AppStore页面进行更新了。

    补充说明:

    后来发现我真的是多此一举了,在iTunes connect里新建APP后就有Apple id了,即使你还没有上传构建版本😂。

    相关文章

      网友评论

      • zerojian:这都不是问题,iTunes 上登记过就有这个 id,而AppStore 上的地址除了这个id,前面地址是固定的,你说的问题根本不存在
        Lol刀妹:是的,我试了下,新建APP后就有Apple id了:sweat_smile:
      • 硅谷小虾米:如果是从后台返回的话,你还需要每次都得把握住新版本是不是已经审核通过可以下载然后再通知后台更改数据,这样不是很准确,其实可以直接在项目中调用iTunes 的接口查看AppStore上自家应用的版本号和更新内容,这样会更准确
        Lol刀妹:@硅谷小虾米 在iTunes connect里新建APP后就有Apple id了,我真的是多此一举了:sweat_smile:
        硅谷小虾米:@无夜之星辰 如果是第一版确实是这样
        Lol刀妹:@硅谷小虾米 你可以选择手动发布来决定上架时间。还有第一版都没有上架自然也就获取不到iTunes接口吧,我是这样理解的,不知道有没有问题:smile:
      • nenhall:只要在iTunes content 裡面登記過的App就有App ID了,直接從Apple的api獲取版本號及其它信息
        Lol刀妹:@neghao 是的,一不小心又成长了😀
        nenhall:@无夜之星辰 :smile:所有的經歷都是一種成長
        Lol刀妹:是的,新建APP后就有Apple ID了,我真的是多此一举了:sweat_smile:
      • 米修斯_:请参考iversion
        Lol刀妹:@米修斯_ get 涨知识了😀
      • CepheusSun:求师傅指导一波yoga
      • footSInRoad:强制更新 不会被拒么?
        Lol刀妹:@left_go 并不会,因为审核的时候是肯定不会弹出更新弹窗的:smile:

      本文标题:iOS开发 | 如何给第一版App添加自动更新功能?

      本文链接:https://www.haomeiwen.com/subject/rgtjlxtx.html