2011-07-06 51 views
7

我想在XCode工作區內構建幾個應用程序:一個應用程序將是iOS應用程序,另一個應用程序將是Mac OS X應用程序。我希望有一組包含在這兩個版本的應用中的類。我正在努力弄清楚什麼樣的項目結構可以最好地支持一些共享的代碼,一些特定於iOS應用程序,另一些特定於Mac應用程序。通常在XCode或XCode 4中做這種事情的最佳做法是什麼?設置XCode 4工作區爲Mac和iOS構建庫

我應該爲共享代碼創建一個庫項目併爲該庫的iOS和Mac OS X版本創建兩個不同的目標?內置項目模板似乎希望我選擇Mac OS X庫或iOS庫,但我不確定是否可以輕鬆地使基於其中一個模板的項目適用於這兩個目標。

我是否應該爲iOS庫,Mac OS X庫,iOS應用程序和Max OS X應用程序創建不同的項目?在這種情況下,如何輕鬆地在iOS庫和Mac OS X庫項目之間共享庫代碼?

回答

4

由於iOS的代碼是爲ARM處理器編譯的,而OS X的代碼是針對Intel處理器編譯的,所以您無法創建可鏈接的共享庫文件庫(不同的機器代碼指令集)。

您應該只將代碼分享到一個單獨的項目中,然後使用add the project itself as a dependency

和這裏的另一個SO質疑這類似於你約porting from one platform to the other

+0

感謝您的建議。您引用的帖子中提到了使用共享文件夾作爲庫項目所需的通用代碼。 XCode是否直接支持共享文件夾的概念,還是需要將這些類放入單獨的文件夾並手動將它們拖入XCode組中? –

+0

我真的從來沒有在XCode自己做過這件事,所以我不能回答這個問題。我目前還沒有坐在我的開發人員Mac前面,所以我無法繞過。 –