2010-10-26 53 views
8

在構建iPhone應用程序時,我有更多關於使用Xcode處理庫的一般問題。我從一個項目中創建了一個框架,我正在努力在其他應用程序中使用它的某些部分。迄今爲止,這很好。但我不知道如何調試到包含在框架中的文件。使用Xcode調試庫

我希望能得到某種'最佳實踐'。

非常感謝
-f

回答

4

一般來說,我會包含庫作爲主應用程序的項目的外部項目依賴Xcode項目。項目依賴關係的優點是,您可以添加一個構建階段,該階段與主項目一起構建庫的全新副本,當然它還可以讓您在庫的代碼中設置斷點。

6

關於如何最好地將代碼重用到靜態庫已經有很多討論。我已經解決了克林特哈里斯描述的方法here(我認爲這也是肖恩的建議)。以這種方式創建項目依賴項會自動編譯項目目標庫(模擬器/設備,調試/發佈)的庫,因此您不需要四個不同的編譯庫副本。它也可以讓你在調試時進入庫源,如你所願。最後,下次這些項目被編譯時,庫中的更新將包含在任何鏈接的項目中(因此,您無需自行重新編譯並將庫二進制文件重新分發給這些項目)。

+0

嘿Tim!謝謝你的提示。這種整合效果很好。但我仍然無法使用斷點來調試我的庫。有什麼額外的步驟我必須做? – flohei 2010-11-05 10:58:56

+0

我剛剛玩了這個,發現了以下內容:默認情況下,當我在我的庫項目中設置斷點時,它不會在任何鏈接的項目中實際中斷,如您所觀察的那樣。然後,我然後右鍵單擊斷點,選擇「編輯斷點」,然後在斷點窗口中,將該新斷點拖到「組和文件」部分中的鏈接項目的名稱上。或者你可以將它拖到「全局斷點」,但是它會在任何鏈接的項目中斷開。一旦我改變了設置斷點在鏈接項目中的作用。這對你有用嗎? – 2010-11-09 04:08:50

+0

這可行,但有一個問題:如果您打開了兩個項目,則子項目不會在父項目中顯示爲完整項目。因此在添加它之前關閉子項目。 (XCode抱怨說它會導致數據完整性問題在兩個地方打開相同的項目。) – nont 2012-06-05 15:52:20