V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
shaunlj
V2EX  ›  iDev

请问万能的 V2EX, iOS 现在怎样可以做到用户下载初次安装 App 后, App 可定期后台自更新,无需用户手动再次安装更新?谢谢大家

  •  
  •   shaunlj · 2016-04-28 22:04:44 +08:00 · 3907 次点击
    这是一个创建于 2941 天前的主题,其中的信息可能已经有所发展或是发生改变。
    24 条回复    2016-05-06 10:22:41 +08:00
    toono
        1
    toono  
       2016-04-28 22:09:43 +08:00
    这样子能做到的而且比较厉害的技术应该是 React Native 。
    用 js 写的应用。因此可以直接更新。
    shaunlj
        2
    shaunlj  
    OP
       2016-04-28 22:13:41 +08:00
    @toono 谢谢,是的, rn 是一种解决方案,偶想请教的是除此之外的解决办法
    Artail
        3
    Artail  
       2016-04-28 22:15:39 +08:00   ❤️ 1
    JSpatch 。。。
    shaunlj
        4
    shaunlj  
    OP
       2016-04-28 22:18:47 +08:00
    @Artail 谢谢提醒,马上研究下 JSPatch
    murmur
        5
    murmur  
       2016-04-28 22:31:28 +08:00
    企业证书好像允许在应用内实现更新,上 store 的貌似常规方式必须在 appstore 里更新
    至于混合应用 这个利弊自己看吧
    audi
        6
    audi  
       2016-04-28 22:33:03 +08:00 via iPhone
    iOS 现在默认就是自动更新所有 app 的,本身就是这样,除非手动关闭。
    cxbig
        7
    cxbig  
       2016-04-28 22:42:23 +08:00
    直接的 App 更新肯定是基于用户的设置。如果是业务逻辑更新,可以用 lua 之类的脚本来做。
    shaunlj
        8
    shaunlj  
    OP
       2016-04-28 22:42:54 +08:00
    @audi 没太明白 audi 君的意思,一般初次发布 App 后,发现 bug---->修复 bug---->AppStore 再提交---->等待漫长 AppStore 审核----->再盼望用户快点升级,你说的是......
    shaunlj
        9
    shaunlj  
    OP
       2016-04-28 22:43:47 +08:00
    @Artail Artail 君,现在 JSPatch 仅支持的是 objective-c ,好像还未支持 swift 吧
    mornlight
        10
    mornlight  
       2016-04-28 22:46:01 +08:00
    小的逻辑更新和修复补丁用热修复的方式,比如 JSPatch 。

    如果是来自 App Store 的 App ,需要安装新版本的更新没法像你说的这样做。
    mornlight
        11
    mornlight  
       2016-04-28 22:48:26 +08:00
    @shaunlj 用户从 App Store 升级,要么自己打开 App Store 点击,要么设置里打开了自动更新由 App Store 自己安装新版本。我印象中在 App 里自己弹框提示用户有新版好像不符合规定,容易被拒。
    shaunlj
        12
    shaunlj  
    OP
       2016-04-28 22:52:00 +08:00
    @mornlight mornlight 君的意思是,如果新版本的改动较大,最好还是 更新后的 app 到 AppStore 再提交---->等待漫长 AppStore 审核----->再盼望用户快点升级 这条唯一途径喽
    mornlight
        13
    mornlight  
       2016-04-28 22:58:54 +08:00
    @shaunlj native app 的话,好像没有别的路子了。
    matsuijurina
        14
    matsuijurina  
       2016-04-28 23:06:18 +08:00 via Android   ❤️ 1
    最朴实的方法是 phonegap 包装一个 web app ,用 ionic 之类的框架,微众银行就是这么做的。
    JSPatch 修 bug 很好用的。
    React Native 适合在视图层更新内容,临时做个活动什么的。性能比 ionic 强多了,但整体表现和原生比还是有差距。
    啥,你有企业证书签发 app ? 那直接动态加载 framework 吧,眨眼就把 app 狸猫换太子。
    既要走 app store ,还想不鸟苹果干票大的,那就试试 wax 吧,用 lua 实现的热更新,好像沉寂了一段时间,现在又开始积极维护了。
    loveuqian
        15
    loveuqian  
       2016-04-28 23:07:30 +08:00
    就算能实现这个功能的 app 也不可能上架吧
    hyzjshwo
        16
    hyzjshwo  
       2016-04-28 23:25:11 +08:00
    @shaunlj jspatch 支持 swift
    热更新的方案有
    React Native , jspatch 和 Wax Lua
    audi
        17
    audi  
       2016-04-28 23:50:28 +08:00 via iPhone
    饿 理解错了 我是站在用户角度 你是开发者角度 苹果应该不会允许这么干的 这样就在审核机制之外了
    shaunlj
        18
    shaunlj  
    OP
       2016-04-29 00:02:22 +08:00
    @mornlight “我印象中在 App 里自己弹框提示用户有新版好像不符合规定,容易被拒”这句话的规定是什么规定,被拒是被谁拒呢?谢谢
    mornlight
        19
    mornlight  
       2016-04-29 00:24:02 +08:00 via iPhone
    mewkeisa
        20
    mewkeisa  
       2016-04-29 00:32:06 +08:00
    自带的:「设置」-「 iTunes Store 与 App Store 」-「更新」
    不知道是不是我没看懂问题,有些回答我看不到,只是 iPhone 不是自带更新 app 功能吗?
    如果需要 WiFi 情况下自动更新就不要选择「使用蜂窝移动数据」。
    mewkeisa
        21
    mewkeisa  
       2016-04-29 00:33:13 +08:00
    哎呀,是我真的没看懂问题,回来再看来一次,你是以开发者的角度说的呀~
    嘻嘻嘻,那我确实是不懂啦~~
    sorry ,可惜上一条回答不能删~~
    nvidiaAMD980X
        22
    nvidiaAMD980X  
       2016-04-29 11:40:07 +08:00 via Android
    @shaunlj 逃脱 Apple 的审核,自己更新,你觉得 Apple 愿意让你这么做吗?
    panzhougeek
        23
    panzhougeek  
       2016-04-29 14:01:26 +08:00
    不建议这么做。实在被逼也没办法。。。
    x1911
        24
    x1911  
       2016-05-06 10:22:41 +08:00
    以前 uc 有种做法不错:

    检测客户的 iphone 是不是越狱了,越狱的提示用户升级 UC ,实际升级的是一个非审核过的 uc ,

    这个 uc 可以自己更新,可以安装其他 app ,也可以上传 app 然后安装,基本把所有 xx 助手的活都干了

    但后来就消失了

    之前在一个同事的 qq 上也看到过有这样的版本,从官方下的,内部提示更新,用企业证书下了个新的

    然后这个版本的 qq 就不再提示更新,而是一有新版本就在后台自己更新了

    实现完全绕过 apple 审核,这样是被封证书的,不过 299 对人家来说不多就是了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   918 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 21:50 · PVG 05:50 · LAX 14:50 · JFK 17:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.