2012-12-29 45 views
1

好吧,我有一個利用相機的iPhone項目。如何將整個XCode項目複製到其他設備?

我試圖利用該項目的iPad版本的80%相同的代碼,但是,我必須改變一些值,因爲後者設備中的相機質量與我用作標準的一些參數混淆爲第一個設備。

所以我做的是:我複製了iPhone項目,並且在同一個項目中,第一個 - 爲iPhone(原始),第二個爲iPad。

當我點擊第二個目標並在某些.m文件上添加了評論時,同樣的評論也出現在iPhone版本文件的同一個.m文件中。

我不想 - 就像你所看到的,我想要一個分離。我想用iPhone項目作爲修改iPad項目代碼的基礎。但我該怎麼做?如果評論出現在iPhone.m中,那麼顯然這意味着沒有任何區別,並且無論我在iPad.m中做什麼都會弄亂其他.m?

回答

1

我會創建一個通用的應用程序。這樣,您可以在單個項目中共享兩個設備之間的所有代碼。然後,您可以簡單地將每種設備類型的邏輯分成不同的文件。因此,例如,對於兩個設備都具有ViewControllerA,對於每個單獨的設備具有ViewControllerA_iPhoneViewControllerA_iPad

3

它看起來像你的兩個項目共享相同的文件。如果你想讓它們分開,只需複製源文件並將它們分別添加回項目。

+0

我究竟會如何去做這件事? – Capricorn

0

這聽起來像你需要'擴展'原來的功能來合併新的。

創建'接口',然後創建類的基本形式(可能使其成爲抽象的),它實現所有的方法,但留下那些可能有特殊需要(只是讓他們扔錯誤作爲基本方法功能)

然後對於2個項目,您可以擴展抽象類並覆蓋添加所需功能的方法。

美在於如果在overidden方法中存在錯誤條件,您可以調用「超類」抽象方法並拋出錯誤消息,則可以決定超類方法應該將字符串輸入變量使您能夠在抽象類中使用定製的消息。

大衛

+0

你是Java範式在Objective-C – awiebe

+0

中不起作用,我認爲這個原則會保持創建一個具有基本功能的庫。 – DaveM

1

我覺得不需要複製整個項目。您只需複製必要的文件併爲iPhone和iPad創建邏輯組。如果是iPad,請將設備類型檢入appdelegate類,然後調用iPad相關類別iPhone。希望它能幫助你。

相關問題