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

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

伪代码:
- (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]
    }
}
这么简单的一件事为啥总有人喜欢扯阴谋论?不是很懂,从什么时候开始几张微信聊天记录和朋友圈都能当作证据了?就没人会真正动手去看看么,大家好歹也是个程序员吧?
|      1Cavolo      2020-03-25 21:36:13 +08:00 via iPhone  3 致敬 Apple | 
|      2eic      2020-03-25 21:40:27 +08:00 可是你有没有想过这有没有可能是故意写死的呢 | 
|  |      3syuraking      2020-03-25 22:12:29 +08:00 貌似我的谷歌版淘宝没看到这奇葩的提示 | 
|      5littlewing      2020-03-25 23:18:47 +08:00 因为大家都工作不饱和 | 
|  |      6qiyuey      2020-03-25 23:40:36 +08:00 这东西都是构建服务自动生成的,把测试包误传罢了 | 
|      7melonrice      2020-03-26 00:16:44 +08:00 @qiyuey 据我所知直到预发布环境的正式包都可以是构建机自动生成的,那么问题来了,淘宝的构建机咋会构建一个测试包自动传到预发布环境去并且没检查就发布了。我以为大公司每个环节都有检查...... | 
|      8ottawa8821      2020-03-26 00:38:17 +08:00 尴尬了, | 
|      9123444a      2020-03-26 06:16:41 +08:00 via Android 男人也用淘宝? | 
|      11MarginK      2020-03-26 08:39:55 +08:00 嘿嘿,这就是反编译吗,好厉害的样子啊,全部变成 C 的样子了,runtime 消息传递也出来了, 出现了什么阴谋论吗?为什么要写死啊? | 
|  |      13davichi2009      2020-03-26 08:51:58 +08:00  1 @MarginK 据说阿里内部绩效分 3.25 是个要被干掉的节奏,然后某位 iOS 程序员被打了 3.25 | 
|      14MarginK      2020-03-26 09:06:23 +08:00 @davichi2009  原来如此,如果是真的话,同身为 iOSer,希望那哥们加油。 | 
|  |      15learningman      2020-03-26 09:21:38 +08:00 @123444a 不然用啥 | 
|  |      16fancy111      2020-03-26 09:27:23 +08:00 我还以为真有人反编译淘宝来查代码问题呢,原来是之前苹果的。 那你也不能断定这次就是这样的,话说更新提示为什么要写死在程序?是推送不好用吗? | 
|  |      17jackchao7432      2020-03-26 09:42:32 +08:00 @fancy111 你把楼主写的看完了吗?就是反编译了啊 | 
|  |      18Lin0936      2020-03-26 09:44:39 +08:00  1 看来这才是和苹果深度合作啊, 张小🐲好好看好好学 | 
|  |      19fancy111      2020-03-26 09:48:07 +08:00 @jackchao7432  看到了,那还是开发人员的错,325 跑不了。 | 
|  |      20Torpedo      2020-03-26 10:20:23 +08:00 话说这个不能 js 打个 path 修复一下么? | 
|  |      21jackchao7432      2020-03-26 10:26:41 +08:00 @Torpedo 前提是得支持啊 | 
|  |      22Torpedo      2020-03-26 10:28:29 +08:00 @jackchao7432 为啥不支持? | 
|      23popesaga      2020-03-26 10:29:27 +08:00 这是流程出错了,测试包发到正式渠道上了。日期写死应该是每次构建的时候都会写的,并不是问题关键。就是这谜一样的发错包,总之至少有个哥们得背锅,甚至可能是几个。三月妖孽多啊,印象中阿里几次大故障都发生在三月。 | 
|      24noisywolf      2020-03-26 11:00:43 +08:00 同学,你写的伪代码有错,提示写反了,而且警告的时候没有 kill | 
|  |      25yjxjn      2020-03-26 11:25:20 +08:00 @qiyuey 即使拿 devops 做的话,关键你从测试环境 promote 到 prod 环境,不都手动么?不怕自动 push 过去传错么? | 
|  |      2618758036350      2020-03-26 11:30:07 +08:00 这么简单的问题,淘宝会还这么久解决不了吗?好像淘宝那边搞了好久处理不了吧。 | 
|      27augustheart      2020-03-26 11:31:56 +08:00 估计就是一条线上的人都疲了,从开发到 qa 集体不在状态…… | 
|      28aptx4689 OP | 
|  |      31godall      2020-03-26 14:17:19 +08:00 看来都没有代码评审这步操作,嘻嘻。 |