iOS小知识整理

一. 版本更新

  1. 获取本地版本号:
    NSString *currentVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
  2. 请求appstore信息:
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager GET:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appID] parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
         [LPActivityIndicatorView hide];
        NSArray * results = responseObject[@"results"];
        if (results && results.count>0)
        {
            NSDictionary * dic = results.firstObject;
            NSString *lineVersion = dic[@"version"];//版本号
            NSString *releaseNotes = dic[@"releaseNotes"];//更新说明
            //NSString * trackViewUrl = dic[@"trackViewUrl"];//链接
            
            if ([lineVersion compare:self.currentVersion options:NSNumericSearch] == NSOrderedDescending)
                {//线上版本大于本地版本
                UIAlertController * alert = [UIAlertController alertControllerWithTitle:[NSString stringWithFormat:@"发现新版本%@",lineVersion] message:releaseNotes preferredStyle:UIAlertControllerStyleAlert];
                UIAlertAction * ok = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:nil];
                UIAlertAction * update = [UIAlertAction actionWithTitle:@"去更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                    //跳转到App Store
                    NSString *urlStr = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/cn/app/id%@?mt=8",appID];
                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];
                }];
                [alert addAction:ok];
                [alert addAction:update];
                [self presentViewController:alert animated:YES completion:nil];
            }else if ([lineVersion isEqualToString:self.currentVersion]){
                NSLog(@"%@", [NSString stringWithFormat:@"版本%@,已是最新版本!",lineVersion]);
            }
        }
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];

二. SDWebImage加载验证码图片,并显示小菊花:

   MBProgressHUD*hud = [ProgressHUD showLoadToView:kAppWindow];

    UIImage *defaultImage = [UIImage imageNamed:@"placeholder"];

    NSURL *urlImage = [NSURL URLWithString:@""];

    [self.imageView sd_setImageWithURL:urlImage placeholderImage:defaultImage options:SDWebImageRefreshCached completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {

        [hud hideAnimated:YES];

    }];

SDWebImageRefreshCached = 1 << 4,:一个图片缓存了,还是会重新请求.并且缓存侧略依据NSURLCache而不是SDWebImage.URL不变,图片会更新时使用

四. Xcode中SVN自动忽略.a文件的解决方法:

  1. 打开终端,输入cd,空格,然后将需要上传的.a文件所在的文件夹(不是.a文件)拖拽到终端(此办法无需输入繁琐的路径,快捷方便) ,回车;
  2. 之后再输入如下命令:svn add libWeChatSDK.a,回车;
  3. 之后会出现:A (bin) libOCMock.a 表示添加成功,打开Versions就可以看到,刚才添加的.a文件,此时就可以手动上传了。

五. 11.3 低版本Xcode不支持高版本iOS真机调试解决方法:

  1. 复制路径:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
shift+command+G 打开
  1. 复制iPhoneOS.sdk,改名11.3


    image
  2. 复制路径:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
    image

    创建新的真机需要的版本,然后将11.3真机调试包拷贝到文件夹
    11.3真机调试包链接 密码: wpw8
  3. 修改路径SDKSettings.plist文件中所有版本相关的数字为11.3
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
    image

    可能无法直接修改,可以拷贝一份,然后修改之后再覆盖上去,然后再重新启动Xcode,可能设备连接会处于繁忙状态,clear一下,或者重新插一下电源,或者手机重启一下就好

六. iOS dateFromString: 方法真机返回nil:

在模拟器上正常运行,在真机上运行返回nil,设置NSDateFormatter对象的locale属性.

+(NSString*)getTimeWithString:(NSString*)string Format:(NSString*)format{

//    NSDate * date = [NSDate dateWithTimeIntervalSince1970:[string longLongValue]/1000];

    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];

    [formattersetDateFormat:@"MMM dd, yyyy KK:mm:ss aa"];

    NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_CN"];

    [formattersetLocale:locale];

    NSDate*date = [formatterdateFromString:string];

    if(format) {

        [formattersetDateFormat:format];

    }else{

         [formattersetDateFormat:@"YYYY-MM-dd HH:mm:ss"];

    }

    return [formatterstringFromDate:date];

}

关于NSDateFormatter的格式
G:公元时代,例如AD公元
yy:年的后2位
yyyy:完整年
MM:月,显示为1-12
MMM:月,显示为英文月份简写,如Jan
MMMM:月,显示为英文月份全称,如Janualy
dd:日,2位数表示,如02
d:日,1-2位显示,如2
EEE:简写星期几,如Sun
EEEE:全写星期几,如星期日
aa:上下午,AM / PM
H:时,24小时制,0-23
K:时,12小时制,0-11
m:分,1-2位
mm:分,2位
s:秒,1-2位
ss:秒,2位
S:毫秒

七.将一个对象的值完整的赋给另一个对象:

   NSDictionary *dict = [model mj_keyValues];
   NSObject *newModel =[NSObject new];
   [newModel setValuesForKeysWithDictionary:dict];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,968评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,682评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,254评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,074评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,964评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,055评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,484评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,170评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,433评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,512评论 2 308
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,296评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,184评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,545评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,150评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,437评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,630评论 2 335

推荐阅读更多精彩内容