簡體   English   中英

iPhone和Ipad - 我如何分叉代碼?

[英]iPhone & Ipad - how do I fork a code?

我的問題是:我有一個專為iPhone設計的應用程序,我決定分叉代碼,換句話說,我將在這個初始階段開發兩個版本的應用程序,一個用於iPhone,另一個用於iPad。

我的問題是:我如何分叉代碼? 我想繼續為這兩個版本使用一個項目,但很明顯,我將不得不為iPhone和其他部分專門為iPad編寫代碼段,當然,這兩個版本都有許多共同點。

如何在不造成代碼混亂的情況下做到這一點?

什么是最佳做法? 謝謝你的幫助。

您可以將XCode項目配置為使用多個目標,然后您可以將一些源代碼文件分配給一個目標或另一個目標或兩者

多個目標的問題在於它可能與分布模型沖突。

據我所知,iPad和iPhone應用程序將作為單個二進制文件分發。 應用程序決定是否在運行時顯示iPad或iPod用戶界面。

這意味着,如果您不想在商店中分離應用程序,'Foo'和'Foo iPad Edition',則您無法使用多個目標,並且您不得不使用一個代碼庫。

我有點討厭這個,因為應用程序中可能會有很多有條件的東西。 如果iPad然后執行此操作,否則執行此操作。 如果iPhone然后顯示此視圖控制器,否則顯示另一個。 我不打算這會導致很好的代碼。

所以我目前正在考慮的是在中間做一些事情:我將基本上創建兩個代碼庫,並且在應用程序的早期某個地方,我將決定使用完整的iPad或iPhone代碼路徑。

我不是iPhone的開發者,但是從St3fan所說的(它必須作為單個二進制文件分發),這些似乎是工廠模式的經典案例。 任何不同的東西都以兩種不同的方式實現(使用通用接口),並且工廠根據它是否在iPhone或iPad上實現不同的實現。 通用代碼不需要更改,因此可以保持原樣。

我回答你的觀點:1)“我如何做這個任務”你必須從項目菜單中創建一個新的目標,在我的情況下,我使用兩個不同的目標進行iPhone游戲(普通版和免費版(精簡版))

  so I created a second Target of Type Application
  this will add a Target to the Groups & Files panel
  and will create a new Info.plist file

  in the Group&File you can show more columns (by right clicking)
  on "Group&Files"), here you have to show the "Target Memebership column"
  for each file you can decide if it is part of a target by pressing the
  corresponding check box

2)“代碼的部分內容”我不知道用於開發iPad應用程序的當前Beta SDK是否包含一些#define,您可以在編譯期間測試,在每種情況下您都可以在目標級別設置一些專用的#define並測試做一些條件編譯

您可以在iPhone開發中心找到有關構建具有多個目標的應用程序的非常詳細的信息,您可以從iPhone開發中心下載它,您需要閱讀本指南“Xcode項目管理指南”

暫無
暫無

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

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