一. 版本更新
- 獲取本地版本號:
NSString *currentVersion = [[NSBundle mainBundle]objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
- 請求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:@"發(fā)現(xiàn)新版本%@",lineVersion] message:releaseNotes preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction * ok = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:nil];
UIAlertAction * update = [UIAlertAction actionWithTitle:@"去更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
//跳轉(zhuǎn)到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,:一個圖片緩存了,還是會重新請求.并且緩存?zhèn)嚷砸罁?jù)NSURLCache而不是SDWebImage.URL不變,圖片會更新時使用
四. Xcode中SVN自動忽略.a文件的解決方法:
- 打開終端,輸入cd鼓拧,空格,然后將需要上傳的.a文件所在的文件夾(不是.a文件)拖拽到終端(此辦法無需輸入繁瑣的路徑,快捷方便) ,回車惯裕;
- 之后再輸入如下命令:svn add libWeChatSDK.a诞帐,回車;
- 之后會出現(xiàn):A (bin) libOCMock.a 表示添加成功摆马,打開Versions就可以看到,剛才添加的.a文件鸿吆,此時就可以手動上傳了囤采。
五. 11.3 低版本Xcode不支持高版本iOS真機(jī)調(diào)試解決方法:
- 復(fù)制路徑:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
shift+command+G 打開
-
復(fù)制iPhoneOS.sdk,改名11.3
- 復(fù)制路徑:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
創(chuàng)建新的真機(jī)需要的版本,然后將11.3真機(jī)調(diào)試包拷貝到文件夾
11.3真機(jī)調(diào)試包鏈接 密碼: wpw8 - 修改路徑SDKSettings.plist文件中所有版本相關(guān)的數(shù)字為11.3
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
六. iOS dateFromString: 方法真機(jī)返回nil:
在模擬器上正常運(yùn)行,在真機(jī)上運(yùn)行返回nil,設(shè)置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];
}
關(guān)于NSDateFormatter的格式
G:公元時代,例如AD公元
yy:年的后2位
yyyy:完整年
MM:月惩淳,顯示為1-12
MMM:月蕉毯,顯示為英文月份簡寫,如Jan
MMMM:月思犁,顯示為英文月份全稱代虾,如Janualy
dd:日,2位數(shù)表示抒倚,如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];