2016-08-18 34 views
4

我有幾個單獨的應用程序具有絕對相同的邏輯和功能,但具有不同的圖標和一些設計元素。問題是,當對邏輯和功能進行一些更改時 - 我需要手動將此功能添加到所有應用程序,之後 - 我需要重新提交每個應用程序。構建具有相同內核的多個應用程序

也許有一些方法來分離所有的邏輯,所以我需要改變它只在一個地方,我所有的應用程序會得到它?

+0

您的項目如何設置?或者你有不同的項目? – Wain

+0

如果您的應用中有後端。你可以通過在你的ios應用程序端編寫一些包裝來從你的服務器端控制輸入系統。實際上在服務器端需要更多的工作。 –

+0

現在有不同的項目具有相同的服務器API。 – moonvader

回答

0

一個解決方案(雖然不一定是最好的)是有一個單一的代碼庫。即你只有每個類的一個實體副本。所有代碼文件都位於其中一個項目的文件夾中,其他項目也使用這些文件。這只是一個設置路徑的問題。 在這個結構中,當您在其中一個項目中更改或添加一些代碼(並且哪一個並不重要)時,所有項目都會更新。 每個項目的圖像目錄都不相同。 這種方法的缺點是,您仍然需要單獨構建和提交每個應用程序,並且在添加新類時需要手動將其添加到所有項目中。否則,他們不會編譯。 的優點是,當建立一個應用程序,你只建立一個應用程序,而不是所有在一起(更少的時間)。管理對特定應用程序的更改也很容易 - 只需將一些擴展功能添加到只有一個項目的其他功能中 - 其他功能就不需要它了。

2

在我看來,最好的解決方案是有一個代碼庫與多個目標。是的,當你改變一些代碼時,你仍然需要重新提交每個應用程序,但是如果你不改變某些代碼,你必須這樣做。

您可以選擇一個應用程序轉換爲您的「主」代碼庫。

E.g.挑選的應用程序之一,並複製目標多次:

enter image description here

你會想這樣做後更改計劃名稱:

enter image description here

enter image description here

可以設置捆綁標識符和部署信息分別爲每個應用程序,就像你之前做的一樣,圖標集:

enter image description here

要在代碼的應用程序之間的區別,您可以使用編譯器標誌(目標 - >構建設置 - 其他SWIFT標誌):

enter image description here

然後你可以做這樣的事情在你的代碼:

#if APP_ONE 
... 
#else 
... 
#endif 
相關問題