9月14日清晨1點,蘋果推送了IOS10,因而一下班就敏捷進級了IOS10,然後坑就如許開端了。。。
成績1
起首是xcode的成績,發明xcode進級到8能力真機運轉,因而先懂得了下IOS10的適配。
有這個iOS10適配總結,還有這個iOS10適配成績搜集整頓,還有這個iOS10適配,還有許多其他的。
這個好辦,撤消nullabl症結字就好。
然後另外一個蛋疼的成績來了
成績二,編譯不外的成績
蛋疼的clang報錯le..
這個是具體的信息,一堆莫明其妙的器械出來了。
隱約約約感到是WGS84T0GCJ02.o這個完成文件的成績,然落後行刪除,在run,竟然勝利了。
所以緣由暫定為對一些c函數的支撐欠好。
假如發明項目奔潰的,該去檢討老舊模塊的一些老文件。沒有甚麼好的處理方法,去排查正告下的那些類吧。
成績三,適配成績(若何處理)
用iOS10的同窗都看到了適配的成績,由於iOS10改換了體系字體,之前有看到文章說在本來的基本上加5個像素的寬度,其實這個是不敷精確具體的,在Xcode8的xib下測了一下分歧長度須要的寬度。以下以15號字體為例:
Xcode8下完整展現15號字體所需的frame最小寬度
字數跨越20後,加5也不克不及知足了。
寫了個辦法,挪用NSStringDraWing框架下獲得文字寬帶的辦法,成果發明
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"testLab width = %f",_testLab.frame.size.width); [self getStringWidth:@"逐個逐個逐個逐個逐個" front:[UIFont systemFontOfSize:10]]; } - (void)getStringWidth:(NSString *)str front:(UIFont *)strFront { NSDictionary *attributes =[NSDictionary dictionaryWithObjectsAndKeys:strFront, NSFontAttributeName, nil]; CGSize stringSize = [str sizeWithAttributes:attributes];// 劃定字符字體獲得字符串Size,再獲得其寬度。 CGFloat width = stringSize.width; NSLog(@" width= %f",width); }
xcode7下是如許的(托一個小同伴運轉了下)
然則xcode8下是如許的
sizeWithAttributes這個辦法不會說謊,所以調這個辦法的根本都沒成績。
然則假如簡略的依據字體個數來算lable的寬度,font * 字數,那便可以依據字數恰當加幾個坐標。
以上所述是小編給年夜家引見的Xcode8下iOS10罕見報錯閃退,字體適配和編譯不外的成績及處理計劃,願望對年夜家有所贊助,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對本站網站的支撐!
【Xcode8下iOS10罕見報錯閃退,字體適配和編譯不外的成績及處理計劃】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!