2011-09-16 88 views

回答

87

公開:該接口已完成並準備供您的產品的客戶使用。公共標題作爲可讀源代碼不受限制地包含在產品中。

Private:該接口不適合您的客戶,也可能處於開發的早期階段。產品中包含私人頭文件,但標記爲「私人」。因此這些符號對所有客戶都是可見的,但客戶應該明白他們不應該使用它們。

項目:該接口僅供當前項目中的實現文件使用。項目標題不包含在目標中,目標代碼除外。這些符號對客戶來說根本不可見,只對您有用。

來源: Xcode開發庫>工具&語言>的IDE>項目編輯器幫助>設置一個頭文件

+0

蘭迪 - 您應該將Power的答案合併到您的答案中,使其成爲更好的單一答案,恕我直言。 –

+0

這是不正確的。蘋果可能已經記錄 - 但他們沒有實現它。 「公共」標題將阻止你分發你的應用程序(Xcode中的錯誤),除非你解除你的項目(不嵌入項目文件!) – Adam

+2

有沒有人知道在哪裏HECK是XCode 5中頭文件的選項? – mindbomb

22

蘭迪的回答是好,給你所有的相關背景的可見性。我想添加一些信息來幫助你根據你如何期望你的圖書館將被使用。

項目:如果您要發佈您的項目,並希望用戶將自己的項目納入自己的子項目中,則應確保您的標題被標記爲「項目」。不這樣做會導致這樣的問題: Xcode 4 Archive Version Unspecified

請注意,這適用於每個子項目...包括子項目的子項目,遞歸。

PUBLIC:如果你希望你的庫的用戶只鏈接對你的對象(而不是有你的原來的項目),請確保您的標題被標記爲「公共」(僅適用於頭,他們將需要參考至)。

+1

這裏最重要的一點是要記住:由於上面引用的錯誤(由於xcode中的錯誤:如果一個庫有公共頭文件,因此Apple現在無法簡單地「分發庫」並讓用戶決定如何使用它,並且已嵌入,Xcode存檔程序沒有解決方法) – Adam

+3

@Adam,如果您在討論Xcode中的錯誤,請包含發行版編號。所以答案會持續很長時間,現在bug不會成爲$ SOME_RELEASE之後的bug。 –

+0

@JamesMoore SO的設計非常適合隨時間變化的答案 - 我在這裏沒有看到問題。除此之外,當蘋果開始爲Xcode發佈發行說明時(我相信在蘋果發佈它們之前大多數Xcode更改將從發行說明中刪除),並開始承認已知的錯誤,我們將有時間手動執行這些更新。在此之前,不斷編輯和重新編輯並重新檢查與Xcode上的主要錯誤相關的許多SO帖子太費事了。 – Adam

相關問題