最近幾天一直在做一項工作,為新項目在做搭建框架的前期准備,然后恰逢更新iOS11和Xcode9,筆者心急的嘗了個先,發現了一些問題,記錄一下,如果有相同問題的程序猿,也可以參考一下。
目前問題遇到兩點
1.Xcode9將SVN功能隱藏了
曾經我們需要在設置-賬戶 然后點擊那個“+”然后添加代碼倉庫,就能添加SVN地址了,Xcode8時代有倆選項可以選 一個是SVN一個是Git,那么Xcode9是啥樣的呢,給我們帶來了什么驚喜(嚇)呢
喔,喔,喔,我是不是瞎了,SVN呢,找不到了,不會不支持了吧,得到的答案當然是否定的,蘋果爸爸沒做這么絕,因為這里有個SVN的設置
通過這個我猜應該還支持SVN,於是乎到底在哪呢
當當當,在這里
通過選擇Source Control-Clone然后出現這個界面
不要被GitHub唬住,實際還是支持SVN的,你直接寫SVN地址就行了
2.往Xcode9就里直接粘貼代碼文件 經常會出現,沒有代碼着色,沒有智能提示,甚至我覺得Xcode都沒有檢查對錯,直接就生成成功。
出現這些問題是啥原因咧,我上網找答案,都是什么清空代碼緩存一類的,其實不是這樣的,至少我遇到的不是,仔細想,Xcode甚至沒有檢查對錯,就直接能生成成功,這說明了,在編譯過程中,壓根就沒有添加你粘貼的文件,不知道這是不是Xcode9的Bug,還是我比較low,反正Xcode8的時代我沒遇到過。到底如何解決呢,解決方法如下,
既然Xcode沒編譯你添加的文件,那我們就自己添加唄,如下圖
Compile Source中添加粘過來的.m文件,然后再次生成,就恢復正常了,我覺得你也得檢查一下,剩下的那幾個,好,那解釋一下,這四個都是干嘛的。
1、Target Dependencies:編譯依賴關系
將lib工程的target加入到里面,告訴主工程當lib工程發生變化的時候自動編譯它。
2、Compile Sources:編譯源文件
這個階段編譯所有的源文件;默認情況下,項目中添加任何一個源文件,也將添加到編譯列表中。
3、Link Binary With Libraries:連接二進制文件和庫
在完成源文件的編譯之后,連接框架(或庫),這樣代碼就可以使用這些框架類了。
4、 Copy Bundle Resources:復制綁定資源
在源文件編譯和連接庫之后,創建一個可執行文件,並放置在應用程序的綁定中,其實就是一個文件夾。其中資源文件將和可執行文件一起添加到綁定(bundle)中。這些資源文件是數據文件,應用程序在運行時需要使用,如XIB 文件和圖像文件、聲音文件等等。默認情況下,添加到項目中的文件,如不是源代碼文件,將添加到這個構建階段(Build Phase)。
一般情況下,在Compile Sources階段,將發現錯誤,但有時也會在Link Binary With Libraries 階段出現錯誤。在這些階段出現的錯誤,一般容易診斷和糾正。
好,新的Xcode9的問題,我遇到的大概就是那么多了,要是后續有啥新發現,我再更博文。