溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Xcode8的變化

發(fā)布時(shí)間:2020-08-03 23:52:15 來源:網(wǎng)絡(luò) 閱讀:431 作者:大頭狼小鬼 欄目:移動(dòng)開發(fā)

Xcode8的發(fā)布意味著新系統(tǒng)的發(fā)布,差不多每發(fā)布一個(gè)版本就發(fā)布一個(gè)系統(tǒng),可以這樣理解,一個(gè)版本對(duì)應(yīng)一個(gè)系統(tǒng)。

出來好幾個(gè)星期,各大博客很多,尤其很多博客中的一些東西都是一樣的的,每個(gè)人都在寫博客,因?yàn)橹R(shí)是一樣就哪幾個(gè)變化,只是區(qū)分理解的不同和對(duì)官網(wǎng)的認(rèn)知不同以及學(xué)習(xí)的不同。我把看到覺得有用的整理一下,方便以后自己的記憶以及查閱。

#park-once

  1. 就是創(chuàng)建項(xiàng)目的時(shí)候多了好幾個(gè)項(xiàng)目模版,尤其是多了一個(gè)iMessage Application這個(gè),這個(gè)是關(guān)于短信的,這次蘋果把這個(gè)放在這里,說明對(duì)于發(fā)短信這個(gè)以及成為一個(gè)生活很重要的一件事情

  2. 就是證書,創(chuàng)建一個(gè)類都可以添加自己對(duì)應(yīng)的證書,


  3. 運(yùn)行一個(gè)項(xiàng)目,出現(xiàn)一堆無用的莫名其妙的log,是可以屏蔽掉的,在Xcode8里邊 Edit Scheme-> Run -> Arguments, 或者用快捷鍵打開:ctrl+shift+<,在Environment Variables里邊添加
    OS_ACTIVITY_MODE = Disable 

  4. 字體變大了,發(fā)現(xiàn)程序內(nèi)原來2個(gè)字的寬度是24,現(xiàn)在2個(gè)字需要27的寬度來顯示了。這樣就要對(duì)frame進(jìn)行適配,最笨的一個(gè)方法就是,寫一個(gè)宏定義,判斷當(dāng)前系統(tǒng)版本,如果大于就在原用的的上面加或者減

  5. 代碼多行注釋不能用。

     這個(gè)是因?yàn)樘O果解決xcode ghost,把插件屏蔽了。
     解決方法
     打開終端,命令運(yùn)行: sudo /usr/libexec/xpccachectl
    然后必須重啟電腦后生效

    注意:Xcode8內(nèi)置了開啟注釋的功能,Xcode菜單欄->Edit->Structure->Add Documentation(開頭的)

6. 使用Xcode8之后,有些代碼可能就編譯不過去了,具體我就說說我碰到的問題。

 UIWebView的代理方法:
注意要?jiǎng)h除NSError前面的 nullable,否則報(bào)錯(cuò)。

- (void)webView:(UIWebView *)webView didFailLoadWithError:(nullable NSError *)error
{
    [self hideHud];
}
7.Xib的問題
8.判斷系統(tǒng)版本
[UIDevice currentDevice] systemVersion]//值為10.0
if ([[NSProcessInfo processInfo] isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){.majorVersion = 9, .minorVersion = 1, .patchVersion = 0}]) { 
    NSLog(@"Hello from > iOS 9.1");
}if ([NSProcessInfo.processInfo isOperatingSystemAtLeastVersion:(NSOperatingSystemVersion){9,3,0}]) {    NSLog(@"Hello from > iOS 9.3");
}
if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_9_0) { // do stuff for iOS 9 and newer} else { 
// do stuff for older versions than iOS 9}
9.ATS的問題
iOS 9中默認(rèn)非HTTPS的網(wǎng)絡(luò)是被禁止的,當(dāng)然我們也可以把NSAllowsArbitraryLoads設(shè)置為YES禁用ATS。不過iOS 10從2017年1月1日起蘋果不允許我們通過這個(gè)方法跳過ATS
,也就是說強(qiáng)制我們用HTTPS,如果不這樣的話提交App可能會(huì)被拒絕。但是我們可以通過NSExceptionDomains來針對(duì)特定的域名開放HTTP可以容易通過審核。關(guān)于 iOS 10 中 ATS 的問題
10. IOS10系統(tǒng)下調(diào)用系統(tǒng)相冊(cè)、相機(jī)功能,或者蘋果健康都會(huì)遇到閃退的情況plist權(quán)限設(shè)置
11.通知的問題
12.增加一系列的Api
13.Swfit的問題
14.當(dāng)行的代碼高亮,San Francisco Mono字體,
15.可以用Runtime進(jìn)行調(diào)試
16.圖片代碼自動(dòng)完成
17.文檔的優(yōu)化
總之還有很多很多。
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI