V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aptx4689
V2EX  ›  程序员

淘宝这次提示更新跟 iOS 12 beta 的 bug 其实是一样的,日期直接写死在程序判断里面

  •  
  •   aptx4689 · 2020-03-25 21:19:00 +08:00 · 5545 次点击
    这是一个创建于 1688 天前的主题,其中的信息可能已经有所发展或是发生改变。

    拓展阅读:2018 年 8 月 31 日,iOS 12 beta 疯狂弹窗提示"A new iOS update is now available. Please update from iOS 12 beta.",但吃瓜网友点进设置之后发现啥也没有,其实是 Apple 的程序员直接硬编码了 beta 更新时间:

    Dl43HmbXgAIwKW5.jpg

    这次的淘宝也一样。 如下图:

    1.png

    伪代码:

    - (void)check{
        NSDateFormatter* dateFormatter = [[NSDateFormatter alloc]init];
        NSLocale* locale = [[NSLocale alloc]initWithLocaleIdentifier:@"en_US"];
        [dateFormatter setLocale:locale];
        
        NSString* dateString = @"Mar 13 2020";
        NSDate* baseDate = [dateFormatter dateFromString:dateString];
    
        NSTimeInterval currentDateTimeInterval = [[NSDate date] timeIntervalSince1970];
        NSTimeInterval baseDateTimeInterval = [baseDate timeIntervalSince1970];
        if (currentDateTimeInterval - baseDateTimeInterval >= 15 * 24 * 60 * 60){
            UIAlertView* alertView = [[UIAlertView alloc]initWithTitle:@"您使用的程序是测试版本,目前已经过期,请更新到最新版本"
                                                               message:NULL
                                                              delegate:nil
                                                     cancelButtonTitle:@"确定"
                                                     otherButtonTitles: nil];
            [alertView show];
            [kill];
            
        } else if (currentDateTimeInterval - baseDateTimeInterval >= 12 * 24 * 60 * 60) {
            //"您使用的程序是内测版本,将于当地时间%@到期,到期后将无法使用,请尽快下载最新版本"
            [kill]
        }
    }
    

    这么简单的一件事为啥总有人喜欢扯阴谋论?不是很懂,从什么时候开始几张微信聊天记录和朋友圈都能当作证据了?就没人会真正动手去看看么,大家好歹也是个程序员吧?

    31 条回复    2020-03-26 14:17:19 +08:00
    Cavolo
        1
    Cavolo  
       2020-03-25 21:36:13 +08:00 via iPhone   ❤️ 3
    致敬 Apple
    eic
        2
    eic  
       2020-03-25 21:40:27 +08:00
    可是你有没有想过这有没有可能是故意写死的呢
    syuraking
        3
    syuraking  
       2020-03-25 22:12:29 +08:00
    貌似我的谷歌版淘宝没看到这奇葩的提示
    wwqgtxx
        4
    wwqgtxx  
       2020-03-25 23:05:34 +08:00 via iPhone
    @syuraking 只有 ios 版本才有的 bug
    littlewing
        5
    littlewing  
       2020-03-25 23:18:47 +08:00
    因为大家都工作不饱和
    qiyuey
        6
    qiyuey  
       2020-03-25 23:40:36 +08:00
    这东西都是构建服务自动生成的,把测试包误传罢了
    melonrice
        7
    melonrice  
       2020-03-26 00:16:44 +08:00
    @qiyuey 据我所知直到预发布环境的正式包都可以是构建机自动生成的,那么问题来了,淘宝的构建机咋会构建一个测试包自动传到预发布环境去并且没检查就发布了。我以为大公司每个环节都有检查......
    ottawa8821
        8
    ottawa8821  
       2020-03-26 00:38:17 +08:00
    尴尬了,
    123444a
        9
    123444a  
       2020-03-26 06:16:41 +08:00 via Android
    男人也用淘宝?
    imhd
        10
    imhd  
       2020-03-26 07:19:39 +08:00 via Android
    @123444a 那不然用 PDD ?🐶
    MarginK
        11
    MarginK  
       2020-03-26 08:39:55 +08:00
    嘿嘿,这就是反编译吗,好厉害的样子啊,全部变成 C 的样子了,runtime 消息传递也出来了,

    出现了什么阴谋论吗?为什么要写死啊?
    janxin
        12
    janxin  
       2020-03-26 08:42:07 +08:00
    @wwqgtxx 只有 iOS 发错包了吧
    davichi2009
        13
    davichi2009  
       2020-03-26 08:51:58 +08:00   ❤️ 1
    @MarginK 据说阿里内部绩效分 3.25 是个要被干掉的节奏,然后某位 iOS 程序员被打了 3.25
    MarginK
        14
    MarginK  
       2020-03-26 09:06:23 +08:00
    @davichi2009
    原来如此,如果是真的话,同身为 iOSer,希望那哥们加油。
    learningman
        15
    learningman  
       2020-03-26 09:21:38 +08:00
    @123444a 不然用啥
    fancy111
        16
    fancy111  
       2020-03-26 09:27:23 +08:00
    我还以为真有人反编译淘宝来查代码问题呢,原来是之前苹果的。
    那你也不能断定这次就是这样的,话说更新提示为什么要写死在程序?是推送不好用吗?
    jackchao7432
        17
    jackchao7432  
       2020-03-26 09:42:32 +08:00
    @fancy111 你把楼主写的看完了吗?就是反编译了啊
    Lin0936
        18
    Lin0936  
       2020-03-26 09:44:39 +08:00   ❤️ 1
    看来这才是和苹果深度合作啊, 张小🐲好好看好好学
    fancy111
        19
    fancy111  
       2020-03-26 09:48:07 +08:00
    @jackchao7432 看到了,那还是开发人员的错,325 跑不了。
    Torpedo
        20
    Torpedo  
       2020-03-26 10:20:23 +08:00
    话说这个不能 js 打个 path 修复一下么?
    jackchao7432
        21
    jackchao7432  
       2020-03-26 10:26:41 +08:00
    @Torpedo 前提是得支持啊
    Torpedo
        22
    Torpedo  
       2020-03-26 10:28:29 +08:00
    @jackchao7432 为啥不支持?
    popesaga
        23
    popesaga  
       2020-03-26 10:29:27 +08:00
    这是流程出错了,测试包发到正式渠道上了。日期写死应该是每次构建的时候都会写的,并不是问题关键。就是这谜一样的发错包,总之至少有个哥们得背锅,甚至可能是几个。三月妖孽多啊,印象中阿里几次大故障都发生在三月。
    noisywolf
        24
    noisywolf  
       2020-03-26 11:00:43 +08:00
    同学,你写的伪代码有错,提示写反了,而且警告的时候没有 kill
    yjxjn
        25
    yjxjn  
       2020-03-26 11:25:20 +08:00
    @qiyuey 即使拿 devops 做的话,关键你从测试环境 promote 到 prod 环境,不都手动么?不怕自动 push 过去传错么?
    18758036350
        26
    18758036350  
       2020-03-26 11:30:07 +08:00
    这么简单的问题,淘宝会还这么久解决不了吗?好像淘宝那边搞了好久处理不了吧。
    augustheart
        27
    augustheart  
       2020-03-26 11:31:56 +08:00
    估计就是一条线上的人都疲了,从开发到 qa 集体不在状态……
    aptx4689
        28
    aptx4689  
    OP
       2020-03-26 11:37:31 +08:00
    @noisywolf 确实写错了,意会一下吧

    @Torpedo 在入口点直接弹窗检测的,估计 js 引擎是之后才启动的,所以你会看到这个弹框闪一下就消失
    werty
        29
    werty  
       2020-03-26 14:05:14 +08:00
    @popesaga 阿里一般是几月份评上年绩效呢, 如果也是三月的话......
    yukinomiu
        30
    yukinomiu  
       2020-03-26 14:15:48 +08:00
    @werty 一般四月开始评, 这会还没开始呢. 所以报复那个谣言实属可笑.
    godall
        31
    godall  
       2020-03-26 14:17:19 +08:00
    看来都没有代码评审这步操作,嘻嘻。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2955 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 14:37 · PVG 22:37 · LAX 06:37 · JFK 09:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.