在此基礎上問題我們不需要將框架鏈接到XCode項目嗎?
Why don't iOS framework dependencies need to be explicitly linked to a static library
我讀所選擇的答案,還是不明白,所以我做了一個示例項目
在測試項目中,我刪除所有框架從鏈接二進制庫和文件導航爲主項目和靜態庫(包括基礎。框架和UIKit.framework),基本上,這兩個項目鏈接到0框架。
問題是
- 在靜態庫,它包括MapKit/MapKit.h不必引用Mapkit.framework的項目,爲什麼它仍然工作?
- 在主項目中,我從項目中刪除了UIKit.framework和Foundation.framework,爲什麼它仍然工作?
- 既然現在有效,以後會有什麼問題嗎?
謝謝您的意見。
P.S.通過工作,我的意思是我可以在模擬器上運行,我可以沒有任何錯誤地歸檔主項目。
編輯25/07/2014
我與我工作的真正的應用程序嘗試,這是相同的。
- 我突出了Foundation,UIKit,CoreData和其他10個文件導航框架,以及所有這些框架。
- 取消選中工具面板中的目標 - >目標會員
- 構建:通過,運行:通過
我的應用程序的每一個功能仍然工作正常。我不明白這一點。
謝謝@Tommy,是的,它設置爲YES。如果我可能會問,Link Frameworks Automatically的默認值是YES,對吧?如果是這樣,我可以說,當我創建一個新項目時,我不需要鏈接到任何框架? –
是的,默認情況下它現在是'是'。另外,從打開我的舊項目時,當您打開任何早於該功能的內容時,它看起來默認爲「是」。所以我認爲你不必擔心再次在鏈接步驟中明確地列出[正確構建的]框架。迂迴地說:你仍然會鏈接到它們,只是編譯器可以自己弄清楚。 – Tommy
感謝您的澄清,我想這是最近添加的新功能,我沒有閱讀LLVM更改日誌,所以我不知道它。 –