你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> Xcode8下iOS10罕見報錯閃退,字體適配和編譯不外的成績及處理計劃

Xcode8下iOS10罕見報錯閃退,字體適配和編譯不外的成績及處理計劃

編輯:IOS開發綜合

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罕見報錯閃退,字體適配和編譯不外的成績及處理計劃】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved