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

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

    昨天客户反馈过来一个问题,就是程序更新之后,之前版本用户需要手动更新。结果当时只是根据更新标识做的判断处理,没有拿客户端的版本号和服务器端的版本号比较,结果用户更新完了之后,初始化中返回的强制更新标志还是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;

}

}

}

iOS程序内实现版本更新的更多相关文章

  1. IOS程序内发短信 MFMessageComposeViewController

    文章转载地址:http://www.headsky.org/?p=63 iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewCon ...

  2. 转: IOS程序内发短信 MFMessageComposeViewController

    文章转载地址:http://www.headsky.org/?p=63 iOS4.0新加入了MFMessageComposeViewController和MFMessageComposeViewCon ...

  3. iOS开发之调用系统打电话发短信接口以及程序内发短信

    在本篇博客开头呢,先说一下写本篇的博客的原因吧.目前在做一个小项目,要用到在本应用程序内发验证码给其他用户,怎么在应用内发送短信的具体细节想不大起来了,于是就百度了一下,发现也有关于这方面的博客,点进 ...

  4. <转>iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!

    原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0 ...

  5. IOS APP 国际化 程序内切换语言实现 不重新启动系统(支持项目中stroyboard 、xib 混用。完美解决方案)

    上篇 IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源 介绍了纯代码刷新 实现程序内切换语言. 但效率底下,也存在一些问题.暂放弃. ...

  6. 【转】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程

    http://blog.csdn.net/xiaominghimi/article/details/6937097 //——2012-12-11日更新   获取"产品付费数量等于0这个问题& ...

  7. 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!【2012-12-11日更新获取”产品付费数量等于0的问题”】

    转的别人的 看到很多童鞋问到,为什么每次都返回数量等于0?? 其实有童鞋已经找到原因了,原因是你在 ItunesConnect 里的 “Contracts, Tax, and Banking”没有完成 ...

  8. 详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程

    Himi  原创, 欢迎转载,转载请在明显处注明! 谢谢. 原文地址:http://blog.csdn.net/xiaominghimi/article/details/6937097 //——201 ...

  9. unity3d 嵌入iOS的 In App Purchase 应用程序内购买

    Unity做东西是快,但是有些功能是需要额外开发的,比如 IAP (In App Purchase,应用程序内购买) 还好unity提供了灵活的扩展功能,允许嵌入原生代码来做一些unity未实现的功能 ...

随机推荐

  1. Setuptools 【Python工具包详解】

    什么是setuptools setuptools是Python distutils增强版的集合,它可以帮助我们更简单的创建和分发Python包,尤其是拥有依赖关系的.用户在使用setuptools创建 ...

  2. NB-IoT的NPBCH发送过程

    NB-IoT的NPBCH是使用固定的重复样式发送的.NPBCH的传输时间间隔(Transmiss Time Interval,TTI)是640ms,承载NB-IoT主系统消息块(Narrow-Band ...

  3. 基于 prometheus 的微服务指标监控

    基于prometheus的微服务指标监控 服务上线后我们往往需要对服务进行监控,以便能及早发现问题并做针对性的优化,监控又可分为多种形式,比如日志监控,调用链监控,指标监控等等.而通过指标监控能清晰的 ...

  4. PuTTY SSH 使用证书免密码登录

    1.用PuTTY SSH 密钥生成工具puttygen.exe生成密钥.生成的密钥类型和位数按照默认的就OK,SSH-2 RSA,1024位生成密钥时你需要在空白区域移动鼠标,以便产生随机数据点击保存 ...

  5. python重要的第三方库pandas模块常用函数解析之DataFrame

    pandas模块常用函数解析之DataFrame 关注公众号"轻松学编程"了解更多. 以下命令都是在浏览器中输入. cmd命令窗口输入:jupyter notebook 打开浏览器 ...

  6. [BZOJ 2287/POJ openjudge1009/Luogu P4141] 消失之物

    题面: 传送门:http://poj.openjudge.cn/practice/1009/ Solution DP+DP 首先,我们可以很轻松地求出所有物品都要的情况下的选择方案数,一个简单的满背包 ...

  7. abp(net core)+easyui+efcore实现仓储管理系统——出库管理之五(五十四)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统--ABP总体介绍(一) abp(net core)+ ...

  8. Servlet程序访问jsp文件404的一种情况

    启动Jsp Run on Server的时候出现404的错误,如下图: 检查一下是否文档目录如下图:jsp应该在WebContent下,而不是WEB_INF下,访问放在WEB_INF下的jsp文件就会 ...

  9. UGC

    文章目录    4 UGC推荐        4.1 基于用户UGC标签进行推荐            4.1.1 最简单的算法(SimpleTagBased)            4.1.2 利用 ...

  10. Python面试题及答案汇总整理(2019版)

    发现网上很多Python面试题都没有答案,所以博主花了很长时间搜集整理了这套Python面试题及答案,由于网上的Python相关面试题大多数都是2019年的,所以我这个也是2019版的,哈哈~ (文末 ...