2012-10-25 57 views
3

我正在嘗試編寫兩個單獨的可提交應用程序:一個用於iPad,另一個用於iPhone。這需要有兩個單獨的plists來允許獨立指定不同的應用程序圖標,啓動圖像等。MonoTouch解決方案中的多個Info.plist文件

當我嘗試重命名我的Info.plist時,MonoDevelop自動創建一個新的Info.plist並使用它。同樣的道理,我似乎無法將我的Info.plist移動​​到iPad /子文件夾,並讓MD在那裏找到它。

目前我們有1個解決方案中的3個項目:iPad,iPhone,常用文件和庫。

是在相應的子文件夾中有單獨的.sln文件的唯一解決方案,還是我可以以某種方式從一個.sln構建兩個單獨的應用程序?

編輯:如果這有助於觀察問題,則項目結構如下。

 
MyApp.sln 
MyApp-iPad.csproj 
MyApp-iPhone.csproj 
MyApp-Common.csproj 

Main.cs 
AppDelegate-iPad.cs 
AppDelegate-iPhone.cs 

Info.plist (MD currently uses this for both projects) 
Common/ 
iPad/ 
iPad/Info.plist (for -iPad.csproj) 
iPhone/ 
iPhone/Info.plist (for -iPhone.csproj) 

回答

8

這裏是我的電流和非常普通的解決方案:添加自定義命令運行之前建立

cp iPad/Info.plist Info.plist 

而對於iPhone:

cp iPhone/Info.plist Info.plist 
1

您需要製作2個項目,一個用於iPad,一個用於iPhone。

您應該將所有代碼文件從一個項目鏈接到另一個項目。這條路線可以有不同的Info.plist文件,圖標,圖像等。

這裏是談論各種策略的鏈接:http://docs.xamarin.com/ios/Guides/Application_Fundamentals/Building_Cross_Platform_Applications/Sharing_Code_Options

+0

+1有用的鏈接,但我不認爲你的建議適用於這個項目結構。我們已經有一個包含通用文件的圖書館項目;這只是談論iPad與iPhone的應用級plist。它看起來像MD迫使你使用與'.sln'相同的'Info.plist'文件。我們製作了2個*項目*,但是您是否意味着我需要製作2 *解決方案*? – darvids0n

+0

製作2個應用程序級別的項目(與您現有的結構無關),YourAppiPhone和YourAppiPad。在YourAppiPad中的YourAppiPhone的任何共享文件中鏈接,例如'Main.cs'或'AppDelegate.cs'。你不需要2個解決方案。 – jonathanpeppers

+0

我明白你在說什麼,但是我們已經這麼做了,問題在於MD仍然希望應用程序級項目在'.sln'的同一文件夾中使用'Info.plist' .. – darvids0n

1

我有一個項目,我需要能夠建立與不同的圖標和資源的應用程序。

我使用不同的構建配置文件並構建將正確文件複製到資源文件夾中的腳本。這也改變了應用程序名稱和標識符。

這是一個類似於您的解決方案,但它可以讓您將不同的圖像與您的應用程序捆綁在一起,就像您想要的一樣。

+0

在Xamarin中做這個工作?當我修改捆綁包時,我搞砸了代碼簽名,因此應用程序僅在使用調試配置時才運行。 –

相關問題