xcode8 ios10 新特性使用總結(jié)

好多人都更新了Xcode8 那么隨之而來的就是Xcode8的一些變化以及使用時的一些注意事項了违柏,我用了一段時間,做了一些總結(jié)現(xiàn)在分享給大家。

xcode8 使用總結(jié):

1罢缸、新建工程:在Xcode 創(chuàng)建項目的時候新增了iMessage 信息應用程序 和 sticker 表情包應用程序,并且將開發(fā)者賬號的管理提到 創(chuàng)建項目參數(shù)配置中

1.內(nèi)置表情包(Sticker Packs)

可以通過在Xcode中新建Sticker Pack Application來創(chuàng)建投队。這種方式可以簡單地通過添加圖片來在iMessage中添加表情包枫疆。添加的貼紙需要滿足一下條件圖片類型必須是 png、apng敷鸦、gif或者jpeg

文件大小必須 小于500K

具體如何實現(xiàn)可以查看這篇文章:http://codecloud.net/13065.html

2.iMessage應用(沒有具體研究過怎么用)

iMessage app使用完整的框架和Message app進行交互息楔。使用iMessage app能夠在消息應用內(nèi)呈現(xiàn)一個自定義的用戶交互界面。 使用MSMessagesAppViewController創(chuàng)建一個自定義或者動態(tài)的表情包瀏覽器扒披。使用 MSStickerBrowserViewController添加文本值依、表情、或者媒體文件到消息應用的文本輸入框碟案。使用 MSConversation創(chuàng)建帶有特定的應用數(shù)據(jù)交互的消息愿险。使用 MSMessage更新可以相互影響的消息(例如,創(chuàng)建游戲或者可以合作的應用)价说。

2辆亏、在Xcode general 配置中有比較大的變化

3风秤、Xcode8重新設計了Interface Builder 的畫布,不再有以前的大方框了扮叨,取而代之的是選擇不同設備,你可以在不同設備之間快速切換并看到一個完全實時的應用程序界面預覽

在底部設備欄(暫且這么叫)右邊你會看到一個 Vary for Traits按鈕 點開之后你可以選擇寬度和高度,當選中Width的時候左側(cè)會列出所有需要適配的屏幕類型,包括分屏,豎屏和橫屏.這樣你就會很容易的知道我的界面需要適配的所有寬度類型.

同理:當選中Height的時候左側(cè)會列出所有需要適配的屏幕類型,包括分屏,豎屏和橫屏.這樣你就會很容易的知道我的界面需要適配的所有高度類型.

4缤弦、關于Interface Builder版本問題

當用Xcode8打開之前創(chuàng)建的項目的xib的時候回跳出讓你選擇設備的界面,如果你選擇了那么再用Xcode8以下的版本就打不開了,也就是說Xcode7彻磁、Xcode6等等都無法使用碍沐。情況如下

Xcode7、Xcode6等等再次打開xib就會報錯

怎么解決呢兵迅,一種方法就是我們打開Xcode8的時候選擇cancel

如果不小心已經(jīng)選擇了choose怎么辦呢抢韭,別急,我們用另外一種方法恍箭,另一種方法可以選中xib右擊選擇Open As ->Source Code 然后在xml文件中你會看到這句話

只需要將這句話刪除就可以了

5刻恭、控制臺輸出Log問題

Xcode8會在控制臺打印一些額外信息(猜想是個BUG),如果這樣的話就太影響開發(fā)調(diào)試了,不過我們也可以關閉,但是關閉的話真機測試又沒有信息打印了扯夭,而且每一個項目我們都得這樣配置鳍贾,所以這是一個很蛋疼的問題。但是沒辦法交洗,目前還沒有找到好的解決辦法骑科,有的人可能出現(xiàn)配置了但是還是輸出這些亂七八糟的信息,這樣我們就得多試幾遍了构拳,確實沒有辦法,但是現(xiàn)在升級到xcode8.1版本的話蘋果就已經(jīng)解決了這個bug了.

如何配置呢:

1咆爽、快捷鍵 cmd + shift +, 或者使用下面的方法

2置森、選擇完或者執(zhí)行快捷鍵會出現(xiàn)下面的窗口斗埂,做如下配置OS_ACTIVITY_MODE -> Disable

6、添加注釋

雖然Xcode8禁用了所有的插件,如果想繼續(xù)使用插件請參考這篇文章:http://www.reibang.com/p/86dcccaec4c3/comments/4283432 凫海,不過Xcode8也內(nèi)部集成了一些插件使用,比如添加說明(注釋): Option + CMD + /,不過會遇到不啟動的情況

解決方案:

打開終端呛凶,命令運行: sudo /usr/libexec/xpccachectl

然后必須重啟電腦就大功告成了

如果這里是灰色的 說明你的添加注釋功能被禁用了

7、ios10 隱私權限設置

iOS 10 開始對隱私權限更加嚴格行贪,如果你不設置就會直接崩潰漾稀,現(xiàn)在很多遇到崩潰問題了,一般解決辦法都是在info.plist文件添加對應的Key-Value就可以了建瘫。

? 麥克風權限:Privacy - Microphone Usage Description 是否允許此App使用你的麥克風崭捍?

? 相機權限: Privacy - Camera Usage Description 是否允許此App使用你的相機?

? 相冊權限: Privacy - Photo Library Usage Description 是否允許此App訪問你的媒體資料庫啰脚?

? 通訊錄權限: Privacy - Contacts Usage Description 是否允許此App訪問你的通訊錄缕贡?

? 藍牙權限:Privacy - Bluetooth Peripheral Usage Description 是否許允此App使用藍牙?

? 語音轉(zhuǎn)文字權限:Privacy - Speech Recognition Usage Description 是否允許此App使用語音識別?

? 日歷權限:Privacy - Calendars Usage Description

? 定位權限:Privacy - Location When In Use Usage Description

? 定位權限: Privacy - Location Always Usage Description

? 位置權限:Privacy - Location Usage Description

? 媒體庫權限:Privacy - Media Library Usage Description

? 健康分享權限:Privacy - Health Share Usage Description

? 健康更新權限:Privacy - Health Update Usage Description

? 運動使用權限:Privacy - Motion Usage Description

? 音樂權限:Privacy - Music Usage Description

? 提醒使用權限:Privacy - Reminders Usage Description

? Siri使用權限:Privacy - Siri Usage Description

? 電視供應商使用權限:Privacy - TV Provider Usage Description

? 視頻用戶賬號使用權限:Privacy - Video Subscriber Account Usage Description

如果配置這些不起作用的話就需要打開后臺權限晾咪,拿定位來說的話如下圖

8收擦、推送問題

如果大家要使用推送請將這個打開,不然會出現(xiàn)問題的

9谍倦、iOS9 中默認非HTTPS的協(xié)議是被禁止的塞赂,解決方案是我們可以在info.plist文件中添加AppTransportSecuritySettings字典,將NSAllowsArbitraryLoads設置為YES來禁用ATS昼蛀。

iOS10?從2017年1月1日起蘋果提出所有新提交的App默認不允許使用NSAllowsArbitraryLoads來繞過ATS的限制宴猾,也就是說強制我們用HTTPS,如果不這樣的話提交App可能會被拒絕叼旋。

解決方案:我們可以通過NSExceptionDomains設置白名單的方式來針對特定的域名開放HTTP內(nèi)容來通過審核仇哆。可以簡單理解成夫植,把不支持https協(xié)議的接口設置成http的接口讹剔。

操作:

1)在項目info.plist中添加一個Key:App Transport Security Settings,類型為

Dictionary;

2)在其內(nèi)添加一個Key: Exception Domains详民,類型為Dictionary;

3)在Exception Domains內(nèi)添加要支持的域延欠,其中域作為Key,類型為Dictionary;

4)每個域下面需要設置3個屬性:類型為Boolean;

NSIncludesSubdomains ?YES

NSExceptionRequiresForwardSecrecy ?NO

NSExceptionAllowsInsecureHTTPLoads ?YES

注意:每個需添加的域都需要設置此三個屬性沈跨。如果請求的網(wǎng)絡圖片是HTTP由捎,也是需要設置的圖片的域。

10饿凛、系統(tǒng)判斷方法失效

在你的項目中,當需要判斷系統(tǒng)版本的話,不要使用下面的方法:

#define isiOS10 ([[[[UIDevice currentDevice] systemVersion] substringToIndex:1] intValue]>=10)

它會永遠返回NO,substringToIndex:1

在iOS 10 會被檢測成 iOS 1了,應該使用下面的這些方法:Objective-C 中這樣寫:

#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)

#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)

Swift中這樣寫:

if NSProcessInfo().isOperatingSystemAtLeastVersion(NSOperatingSystemVersion(majorVersion: 10, minorVersion: 0, patchVersion: 0)) { // 代碼塊}

11狞玛、蘋果針對內(nèi)存也做了優(yōu)化,Xcode8新增Runtime調(diào)試,界面可以展示運行時的問題,改善的界面調(diào)試對于調(diào)試不清晰或者不滿意的布局變的更簡單涧窒,我們可以利用debug模式下的Runtime來查看內(nèi)存为居,具體如何實現(xiàn)我也沒有做過實驗,可以參考一下這篇文章http://url.cn/40SBiZq

12杀狡、Swift3.0 and Swift2.3 隨意切換

Xcode8支持3.0語法和2.3語法隨意切換,默認創(chuàng)建出來是3.0語法, 如果想用2.3語法是可以切換的

語法轉(zhuǎn)換

當然Swift只能向上兼容,不能向下兼容,如果你的語法是2.3的可以轉(zhuǎn)換為3.0的,但是轉(zhuǎn)換不一定成功

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市贰镣,隨后出現(xiàn)的幾起案子呜象,更是在濱河造成了極大的恐慌,老刑警劉巖碑隆,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件恭陡,死亡現(xiàn)場離奇詭異,居然都是意外死亡上煤,警方通過查閱死者的電腦和手機休玩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拴疤,你說我怎么就攤上這事永部。” “怎么了呐矾?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我抬探,道長硫戈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任罚随,我火速辦了婚禮玉工,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘淘菩。我一直安慰自己遵班,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布瞄勾。 她就那樣靜靜地躺著费奸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪进陡。 梳的紋絲不亂的頭發(fā)上愿阐,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音趾疚,去河邊找鬼缨历。 笑死,一個胖子當著我的面吹牛糙麦,可吹牛的內(nèi)容都是我干的辛孵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赡磅,長吁一口氣:“原來是場噩夢啊……” “哼魄缚!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起焚廊,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤冶匹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后咆瘟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚼隘,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年袒餐,在試婚紗的時候發(fā)現(xiàn)自己被綠了飞蛹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谤狡。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖卧檐,靈堂內(nèi)的尸體忽然破棺而出墓懂,到底是詐尸還是另有隱情,我是刑警寧澤泄隔,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布拒贱,位于F島的核電站,受9級特大地震影響佛嬉,放射性物質(zhì)發(fā)生泄漏逻澳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一暖呕、第九天 我趴在偏房一處隱蔽的房頂上張望斜做。 院中可真熱鬧,春花似錦湾揽、人聲如沸瓤逼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霸旗。三九已至,卻和暖如春戚揭,著一層夾襖步出監(jiān)牢的瞬間诱告,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工民晒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留精居,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓潜必,卻偏偏與公主長得像靴姿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子磁滚,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容