• iOS程序内实现版本更新


        最近这段时间刚把手头里面的两个项目交付出去,很想写点东西但又不想随随便便的写些抒情的文字,其实生活中的很多事情、成长的路上遇到的很多问题,并非简简单单的抱怨、埋怨,用一种激情悲昂的情绪去逃避、去发泄所能解决的。其实很多问题的产生都有它的原因,有些可能是自己造成的,有些可能是别人种下的,遇到问题,解决问题,就是我们成长路上需要学会面对的。其实道理很多人都懂,也都晓得,说别人的时候都像个老师,但是当你面对的时候是否能够静心面对,冷静处理,其实也是需要很大的耐心和勇气的。一直以为优秀是一种习惯,是一种态度,其实问题并不可怕,可怕的是我们没有直面它的勇气和信心。有段话怎么说的,有时会讨厌不甘平庸却又不好好努力的自己,觉得自己不够好,羡慕别人闪闪发光。其实大多人都是普通的,只是别人的付出你没看到。不要沮丧,不必惊慌,做努力爬的蜗牛或坚持飞的笨鸟,我们试着长大,一路跌跌撞撞,然后遍体鳞伤。坚持着,总有一天,你会站在最亮的地方,活成自己曾经渴望的模样。这里添加一段引用别人的话,不过说的真的很好,非常的好。其实无论是开发、还是做人做事、很多的东西需要总结整理,古人说要温故知新、举一反三,其实博大精深的古人遗训还是有其道理的。放下你的浮躁,放下你的懒惰,放下你的三分钟热度,放空你禁不住诱惑的大脑,放开你容易被任何事物吸引的眼睛,放淡你什么都想聊两句八卦的嘴巴。静下心来好好做你该做的事,该好好努力了!有时候真的努力后,你会发现自己要比想象的优秀很多。世上除了生死,其它都是小事。不管遇到了什么烦心事,都不要自己为难自己;无论今天发生多么糟糕的事,都不要对生活失望,因为还有明天。哈哈,最近读了好多心灵鸡汤,在这里稍微分享一下吧,说的是不是很有道理呢。

        忙的时候想要休息,项目交付,很多东西整理完毕之后如果还能空出一段时间让自己安排,刚开始看看新闻、欧洲杯、美洲杯、逛逛知乎网站、刷刷空间和朋友圈感觉还挺有意思,时间一长,其实细细一想其实挺没劲的,所以要学会安排好自己的时间,经营好自己的生活。从那以后不在玩手机、刷网页、看新闻,不再随随便便的吐槽、聊天、感叹命运不济、时不我与,不再去过多的关注那些闲谈八卦,开始上班钻研一些自己感兴趣的技术,沟通一些产品的逻辑流程,收集一些好听的歌曲、电影,开始晚上坚持跑步健身,周末不再宅在家里追剧、玩游戏,加了一个旅游群,开始关注旅游信息,开始变得充实知足。长大后感觉很多东西都变了,其实是我们的心随着环境的影响变得不再单纯,不再那么容易知足,很多事情不再愿意倾诉。然而有些是无奈,很多时候并非想象的那样,遇到问题,我们正常的反应就是逃避,其实如果静心思考,冷静面对的话也是我们成长的机会呢。所以生活是一门艺术,也是一门学问,所以我们都要做一个温暖的人。

        昨天客户反馈过来一个问题,就是程序更新之后,之前版本用户需要手动更新。结果当时只是根据更新标识做的判断处理,没有拿客户端的版本号和服务器端的版本号比较,结果用户更新完了之后,初始化中返回的强制更新标志还是1,所以一直提示更新。其实需要先拿客户端的版本号和服务器端的版本号比较一下,如果客户端的版本号比服务器端的版本号低并且服务器返回的强制更新标识为1的时候需要提示更新,这样的话就能完美解决问题了。具体可参考下面的代码:

    NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

        NSString *currentVersion = [infoDictionary objectForKey:@"CFBundleVersion"];

        

        NSMutableDictionary *infor = [[XtomManager sharedManager] myinitInfor];

        NSString *lastVersion = [infor objectForKey:@"iphone_last_version"];

        

        XtomManager *myManager = [XtomManager sharedManager];

        NSMutableDictionary *dict = myManager.myinitInfor;

        

        if((![XtomFunction xfunc_check_strEmpty:lastVersion]))

        {

            if ([[currentVersion stringByReplacingOccurrencesOfString:@"." withString:@""] integerValue]<[[lastVersion stringByReplacingOccurrencesOfString:@"." withString:@""]integerValue])

            {

                if ([[dict objectForKey:@"iphone_must_update"]integerValue] == 1)

                {

                    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"有新版本" message:@"新版本进行了大的改动,此版本已不再使用,请立即更新到最新版本" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];

                    [alert show];

                    alert.tag = 999;

                    alert.delegate = self;

                    [alert release];

                    return;

                }

            }

        }

  • 相关阅读:
    HTML知识点链接
    Apache和PHP的安装
    MySql的安装
    MY_FIRSH_MODULE
    【PAT甲级】1053 Path of Equal Weight (30 分)(DFS)
    Atcoder Grand Contest 039B(思维,BFS)
    Codeforces Round #589 (Div. 2)E(组合数,容斥原理,更高复杂度做法为DP)
    Codeforces Round #589 (Div. 2)D(思维,构造)
    【PAT甲级】1052 Linked List Sorting (25 分)
    【PAT甲级】1051 Pop Sequence (25 分)(栈的模拟)
  • 原文地址:https://www.cnblogs.com/bigant9527/p/5614182.html
Copyright © 2020-2023  润新知