2014-02-17 53 views
2

我在工作中已經提出了一個非常具體的挑戰,我還沒有能夠拿出一個令人滿意的解決方案與我自己的研究,所以我想我會問在這裏以防其他人有類似的經歷。設置Xcode項目來輕鬆創建「子應用程序」

基本上,我即將開始編寫一個應用程序,作爲事件的某種「中心」,用戶將能夠找到他們感興趣的事件,選擇它並查看關於它的詳細信息/在本質上是它自己的「微應用」之間進行互動。
問題是我還需要能夠輕鬆地將這個「微型應用程序」的「模型」(通用UI邏輯,通用資源和程序等),並將它們轉變爲專用於單個事件的獨立應用程序最小的努力(它需要由一些非編碼器在一些設置指令的幫助下完成,所以不是通過實際編碼來完成,而是「一鍵完成」)。

我試過使用子項目,特別是有一個子項目構成迷你應用程序被包含在「hub」的項目中,但我無法弄清楚如何在兩者之間共享資源。
我試圖創建一個簡單的測試應用程序,從子項目加載UIViewController,雖然我能夠讓父母認識到我無法加載資源(即故事板)的標題。

我正在研究使用一個靜態庫(可能使用Xcode模板來簡化非編碼器的過程),據我所知它可以讓我打包資源,但似乎他們會讓開發變得更加困難通過「模糊」庫中的內容(特別是如果我想同時在「微應用」和「中心」上工作),所以我想知道是否有更好的方式,我不知道。

當然,我可以製作一個模板,一旦代碼完成後,將照顧「易於創建」的角度,但隨後我需要每次更改時更新模板。

回答

0

如果我正確地理解了你,Xcode實際上很容易實現。創建您的基本應用程序,併爲其他版本添加重複的目標。

如果您需要區分共享代碼中的內容,請爲每個目標添加一個編譯器標誌,然後在您的代碼中使用#IFDEF進行區分。您還可以根據每個目標創建不同的故事板,或者爲每個目標使用相同的故事板。聽起來這對你來說不是必要的,但是。

要創建目標,請單擊在Xcode項目導航您的項目,然後就在您的現有應用程序的目標單擊(了一個與「測試」後綴),然後選擇「複製」。從那裏,您可以將產品名稱更改爲適合該「迷你應用程序」的內容。

然後無論任何特定迷你應用程序使用的資產都可以添加到項目中(大概在他們自己的組中),並僅添加到它們適用的目標中。我不確定你的需求究竟是什麼,但這將是我爲實現這一目標所採取的基本路線。

+0

那麼目標會是一個很好的方法呢?現在,我通過一個捆綁了一個捆綁包的靜態庫成功共享資源。通過將庫添加爲子項目,我解決了「隱藏」問題,儘管我在後來的開發中對於問題持謹慎態度,但它似乎工作得很好 - 關於這些「迷你應用程序」的事情是它們都是相同的所以它不像我需要能夠將新的「零件」添加到集線器應用程序,更像是我需要能夠將「小型應用程序」輕鬆地轉移到新的獨立項目中,讓它像其行事一樣當通過「集線器」應用程序使用時 –

+0

哦,如果你需要能夠將它移動到一個新的項目,目標絕對不是最好的方式來做到這一點。 – ahruss