当前位置: 首页 > news >正文

网站动态logo怎么做南宁建站有哪些公司

网站动态logo怎么做,南宁建站有哪些公司,品牌广告设计制作公司网站源码,企业网站开发计划iOS开发-检查版本更新与强制更新控制。 在开发中经常遇到需要检查版本#xff0c;检查版本及请求appstoreLookUrl查看版本号与当前的版本号进行比对#xff0c;看是否需要更新。强制更新控制#xff0c;是将获取到当前版本号传给服务端#xff0c;服务端判断当前的版本是否…iOS开发-检查版本更新与强制更新控制。 在开发中经常遇到需要检查版本检查版本及请求appstoreLookUrl查看版本号与当前的版本号进行比对看是否需要更新。强制更新控制是将获取到当前版本号传给服务端服务端判断当前的版本是否需要强制升级。 一、app升级检查 发送请求系统NSURLConnection sendAsynchronousRequest 代码如下 SDVersionManager.h #import Foundation/Foundation.hinterface SDVersionManager : NSObjectNSCodingproperty (nonatomic,strong) NSString *lastVersionCode; //版本codeproperty (nonatomic,strong) NSString *lastVersion; //保存最新的版本lastVersionproperty (nonatomic,strong) NSString *versionNotes; //版本更新的记录releaseNotes (instancetype)sharedInstance;/**检测版本更新如果有新版本提醒用户更新提醒一次param needUpdate 需要更新的回调param failure 不需要更新*/(void)checkAppVersion:(void (^) (void))needUpdatefailure:(void (^) (void))failure;end#pragma mark - SDVersionManagerDBinterface SDVersionManagerDB : NSObject (instancetype)sharedInstance;/**获取自定义对象UpdatedVersion实体反序列化操作return UpdatedVersion 实体*/ - (SDVersionManager *)loadLastVersion;/**保存自定义对象序列号param version UpdatedVersion实体return 是否保存成功*/ - (BOOL)saveLastVersion:(SDVersionManager *)version;endSDVersionManager.m #import SDVersionManager.h #import SDContextManager.h#define kDataFileVersion UpdatedVersion #define kDocumentPath NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]class SDVersionManagerDB; implementation SDVersionManager /**单例模式使用 dispatch_once_t if不是线程安全的return 实例对象*/(instancetype)sharedInstance {static SDVersionManager *_sharedInstance nil;static dispatch_once_t onceToken;dispatch_once(onceToken, ^{_sharedInstance [[SDVersionManagerDB sharedInstance] loadLastVersion];if (_sharedInstance nil) {_sharedInstance [[SDVersionManager alloc] init];_sharedInstance.lastVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:CFBundleVersion];}});return _sharedInstance; }- (void)encodeWithCoder:(NSCoder *)aCoder {[aCoder encodeObject:_lastVersionCode forKey:NSStringFromSelector(selector(lastVersionCode))];[aCoder encodeObject:_lastVersion forKey:NSStringFromSelector(selector(lastVersion))];[aCoder encodeObject:_versionNotes forKey:NSStringFromSelector(selector(versionNotes))]; }- (id)initWithCoder:(NSCoder *)aDecoder {if (self [super init]) {_lastVersionCode [aDecoder decodeObjectForKey:NSStringFromSelector(selector(lastVersionCode))];_lastVersion [aDecoder decodeObjectForKey:NSStringFromSelector(selector(lastVersion))];_versionNotes [aDecoder decodeObjectForKey:NSStringFromSelector(selector(versionNotes))];}return self; }/**检测版本更新如果有新版本提醒用户更新提醒一次param needUpdate 需要更新的回调param failure 不需要更新*/(void)checkAppVersion:(void (^) (void))needUpdatefailure:(void (^) (void))failure {NSURL *appstoreUrl [NSURL URLWithString:[SDContextManager shareInstance].appstoreLookUrl];NSURLRequest *request [NSURLRequest requestWithURL:appstoreUrl];NSString *currentVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:CFBundleShortVersionString];NSString *bundleCurrentVersion [[[NSBundle mainBundle] infoDictionary] objectForKey:CFBundleVersion];__weak typeof(currentVersion) weakCurrentVersion currentVersion;__weak typeof(bundleCurrentVersion) weakBundleCurrentVersion bundleCurrentVersion;[NSURLConnection sendAsynchronousRequest:requestqueue:[NSOperationQueue mainQueue]completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {if (!connectionError) {NSDictionary *dic [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:connectionError];NSArray *results [dic objectForKey:results];if ([results count] 0) {NSDictionary *resultValue [results objectAtIndex:0];NSString *versionStr [resultValue objectForKey:version];NSString *version [[resultValue objectForKey:version] stringByReplacingOccurrencesOfString:. withString:];NSString *note [resultValue objectForKey:releaseNotes];NSString *curVersion [weakCurrentVersion stringByReplacingOccurrencesOfString:. withString:];NSString *curBundleVersion [weakBundleCurrentVersion stringByReplacingOccurrencesOfString:. withString:];[SDVersionManager sharedInstance].versionNotes note;if ([curVersion integerValue] [version integerValue]) {//当前版本比appstore上低NSString *alastVerstion [SDVersionManager sharedInstance].lastVersion;if (alastVerstion version ([alastVerstion integerValue] [version integerValue])) {[SDVersionManager sharedInstance].lastVersion version;[SDVersionManager sharedInstance].lastVersionCode versionStr;if (needUpdate) {needUpdate();}} else {if (failure) {failure();}}} else if ([curVersion integerValue] [version integerValue]) {//当前版本比appstore上相同[SDVersionManager sharedInstance].lastVersion version;[SDVersionManager sharedInstance].lastVersionCode versionStr;if (failure) {failure();}} else if ([curVersion integerValue] [version integerValue]) {//当前版本比appstore上高[SDVersionManager sharedInstance].lastVersion version;[SDVersionManager sharedInstance].lastVersionCode versionStr;if (failure) {failure();}}[[SDVersionManagerDB sharedInstance] saveLastVersion:[SDVersionManager sharedInstance]];}} else {if (failure) {failure();}}}]; }end#pragma mark - SDVersionManagerDBimplementation SDVersionManagerDB (instancetype)sharedInstance {static SDVersionManagerDB *_sharedInstance nil;static dispatch_once_t onceToken;dispatch_once(onceToken, ^{_sharedInstance [[SDVersionManagerDB alloc] init];});return _sharedInstance; }/**获取自定义对象UpdatedVersion实体反序列化操作return UpdatedVersion 实体*/ - (SDVersionManager *)loadLastVersion {NSString *dataFile [NSString stringWithFormat:%/%, kDocumentPath, kDataFileVersion];try{SDVersionManager *version (SDVersionManager *)[NSKeyedUnarchiver unarchiveObjectWithFile:dataFile];if (version) {return version;}}catch (NSException *e){}return nil; }/**保存自定义对象序列化param version UpdatedVersion实体return 是否保存成功*/ - (BOOL)saveLastVersion:(SDVersionManager *)version {NSData *data [NSKeyedArchiver archivedDataWithRootObject:version];NSString *dataFile [NSString stringWithFormat:%/%, kDocumentPath, kDataFileVersion];return [data writeToFile:dataFile atomically:YES]; }end二、强制升级控制 强制更新控制是将获取到当前版本号传给服务端服务端判断当前的版本是否需要强制升级。 这块暂时就不写请求服务端的代码了。 三、小结 iOS开发-检查版本更新与强制更新控制。 在开发中经常遇到需要检查版本检查版本及请求appstoreLookUrl查看版本号与当前的版本号进行比对看是否需要更新。强制更新控制是将获取到当前版本号传给服务端服务端判断当前的版本是否需要强制升级。 学习记录每天不停进步。
http://www.w-s-a.com/news/619749/

相关文章:

  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画
  • 怎么可以建网站小程序代理项目
  • 怎样做软件网站哪个网站用帝国cms做的
  • 网站开发编程的工作方法wordpress dux-plus
  • 廊坊电子商务网站建设公司网站进不去qq空间
  • 南宁网站推广费用创意网页设计素材模板
  • 深圳技术支持 骏域网站建设wordpress 酒主题
  • 东莞网站建设+旅游网站改版数据来源表改怎么做
  • 手机端做的优秀的网站设计企业做网站大概多少钱
  • 优化网站使用体验手机网站解析域名
  • 网站制作 商务做网站的软件名字全拼
  • 阿里巴巴网官方网站温州网站建设设计
  • 传奇购买域名做网站国外网站设计 网址
  • 西安凤城二路网站建设seo网站是什么
  • 网站后台如何更换在线qq咨询代码在线种子资源网
  • 东莞网站优化制作免费中文wordpress主题下载
  • 东莞建筑设计院排名网络优化论文
  • 做牙工作网站郑州前端开发培训机构
  • 温州专业建站网站制作的管理
  • 公司网站开发策划书有没有专门做教程的网站
  • 江苏省工程建设信息网站一天赚1000块钱的游戏
  • 制作响应式网站报价品牌建设整体体系包括什么
  • 网站推广策划报告目前做win7系统最好的网站
  • 东莞网站建设咨询公江西网站建设平台
  • 什么是网站功能源码下载站
  • 石家庄制作网站的公司双柏县住房和城乡建设局网站
  • 影视vip网站建设教程ppt模板免费下载 素材红色