簡體   English   中英

是否有在iPhone和iPad應用程序之間共享開發代碼的最佳實踐

[英]Are there best practices for sharing development code between iPhone and iPad app

我想構建兩個應用程序,一個針對iphone進行了優化,另一個針對ipad進行了優化。

這兩個應用程序都會調用服務器API調用並為模型對象共享相同的代碼,因此我想在iphone和ipad項目之間共享此代碼。

我正在使用xCode 4,它具有工作空間的概念(應該允許在項目之間共享代碼),但我想知道是否需要為共享代碼創建另一個項目。

有沒有人這樣做並且關心分享最佳實踐?

我喜歡在項目之間共享代碼,無論是iPhone / iPad重用還是任何其他共享方案,都可以利用靜態庫項目來存放共享代碼,並在所有使用它的項目中用作目標依賴項。 更詳細一點......

您可以使用Cocoa Touch Static Library模板創建新的Xcode項目。 該項目可以容納項目之間的所有共享代碼。 然后,在任何要使用靜態庫的應用程序中,可以通過將靜態lib項目拖動到客戶端項目中來向靜態庫項目添加項目引用。 在此客戶端項目中,最好將靜態庫添加為客戶端項目的Target Dependency構建階段。 這會強制在構建客戶端項目時重新構建共享庫。 然后,您將靜態庫產品添加到客戶端項目的“Link Binary With Libraries”構建階段。

而且,作為最后一個警告,您還需要告訴客戶端項目靜態庫的標頭所在的位置。 這是靜態庫不包含自己的頭文件的結果,就像Mac上的Cocoa框架一樣。 為此,只需在客戶端項目中找到“標頭搜索路徑”構建設置,並添加靜態庫標頭的路徑。 我發現最有用的是引用Xcode生成的並放在Derived Data中(如果你配置了Xcode)。

如果要構建兩個單獨的應用程序,則需要創建一個包含兩個iOS應用程序項目和一個靜態庫項目的工作區。 靜態庫應包含所有共享代碼,並且兩個iOS應用程序項目都應包含該庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM