2013-05-16 288 views
1

我是iOS編程和Xcode的新手。請幫我理解Xcode如何編譯和運行代碼。在項目中進行更改時,Xcode如何編譯文件?

理想情況下,IDE知道程序中所做的更改,下次編譯或運行它時,它知道需要重新編譯哪些文件。但是當我試圖在一個可以使用幾個ViewControllers和XIB文件工作的項目中添加故事板時,我將視圖從現有的xib文件移動到故事板中的ViewController,並將該類的名稱更改爲其各自的名稱View Inspector中的ViewController和我刪除了XIB文件。當我運行程序時,我沒有看到任何不同的事情發生。出於好奇,我刪除了所有的XIB文件,然後再次運行程序,但仍然項目運行完美。

然後最後我刪除了我項目中存在的所有文件,當提示「發送到垃圾箱」或「刪除引用」時,我選擇了刪除引用並再次構建並運行應用程序,但沒有問題,完美地運行。

之後,我關閉了項目,並再次從'Finder'打開項目並運行它,最終我得到了超過30個錯誤,甚至在我將所有文件添加回Xcode中的項目後仍未解決。

請幫我理解Xcode是如何編譯這些項目的,以及我在將XIB文件中的視圖移動到項目中的「Storyboard」時可能會做錯的事情。

+0

如果你顯示出什麼錯誤,這將有所幫助。 – Abizern

+0

這些都是解決.o文件中的問題的鏈接器錯誤。這些都是因爲我刪除了所有文件而出現的。現在我知道如果我「清理」一個項目,我不會面臨這樣的問題。但是我想知道,如果我遵循的將視圖傳輸到Storyboard的過程是正確的。 –

回答

1

你的理解是XCode應該檢測到變化並知道什麼時候重新構建,但是,XCode並不完美,有時會出現bug。您可以在產品菜單下的項目"Clean"重新獲得它。

你沒有說如果你在模擬器上運行或沒有。在添加或刪除資源並在設備上運行時,我經常遇到問題。要解決這些問題,您可以刪除設備上的應用程序。

重新啓動XCode也經常修復問題。

此外,請確保您擁有最新版本的XCode。

如果您已經到了可以重新創建問題的地步,請考慮提交bug report

+0

我有Xcode版本4.6.2。 –

+0

@MKSingh,蘋果確實很快修復了常見且易於重新創建的bug,但那些罕見的bug仍然流連忘返。總是針對最新版本的XCode提交錯誤,否則Apple會回覆「最新版本是否仍然存在?」。 –

+0

我在模擬器和iPhone上都運行它。 –