2012-10-25 3 views
3

J'essaie d'écrire deux applications personnalisables distinctes: une pour iPad et l'autre pour iPhone. Lorsque vous essayez de renommer mon Info.plist, MonoDevelop crée automatiquement une nouvelle Info.plist vide et l'utilise à la place. De la même manière, je n'arrive pas à déplacer mon Info.plist dans l'iPad/sous-dossier et j'ai besoin que MD le prenne en charge.Plusieurs fichiers Info.plist dans la solution MonoTouch

Actuellement, nous avons 3 projets en 1 solution: iPad, iPhone, fichiers communs et bibliothèques.

Est-ce la seule solution à avoir des fichiers .sln distincts dans les sous-dossiers appropriés, ou puis-je encore créer d'une manière ou d'une autre deux applications séparées à partir d'un .sln?

EDIT: La structure du projet est ci-dessous si cela permet de visualiser le problème.

 
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) 

Répondre

8

Voici ma solution actuelle et très ordinaire: Ajoutez une commande personnalisée qui fonctionne avant Créer

cp iPad/Info.plist Info.plist 

Et pour iPhone:

cp iPhone/Info.plist Info.plist 
1

Vous devez réaliser 2 projets, un pour iPad et un pour iPhone.

Vous devez "lier" tous les fichiers de code d'un projet à l'autre. Vous pouvez avoir différents fichiers Info.plist, icônes, images, etc. avec cet itinéraire.

est ici un lien à parler de diverses stratégies: http://docs.xamarin.com/ios/Guides/Application_Fundamentals/Building_Cross_Platform_Applications/Sharing_Code_Options

+0

Un lien utile, mais je ne pense pas que votre suggestion fonctionne pour cette structure de projet. Nous avons déjà un projet de bibliothèque avec des fichiers communs; c'est juste parler de la plist au niveau de l'application pour iPad vs iPhone. Il semble que MD vous oblige à utiliser le fichier 'Info.plist' au même niveau que' .sln'. Nous avons fait 2 * projets *, mais voulez-vous dire que je dois faire des solutions 2 * *? – darvids0n

+0

Effectuez 2 projets de niveau application (quelle que soit votre structure existante), YourAppiPhone et YourAppiPad. Lien dans tous les fichiers partagés de YourAppiPhone dans YourAppiPad tels que 'Main.cs' ou' AppDelegate.cs'. Vous n'aurez pas besoin de 2 solutions. – jonathanpeppers

+0

Je comprends ce que vous dites, mais nous l'avons déjà fait et le problème est que MD veut toujours que les deux projets au niveau de l'application utilisent 'Info.plist' dans le même dossier que le' .sln'. – darvids0n

1

J'ai un projet où je dois être capable de construire l'application avec différentes icônes et ressources.

J'utilise des profils de construction différents et construis des scripts qui copient dans les fichiers corrects dans un dossier de ressources. Cela modifie également le nom et l'identifiant de l'application.

Ceci est une solution similaire à la vôtre, mais cela vous permettrait de regrouper différentes images avec votre application comme vous le vouliez.

+0

cela fonctionne-t-il dans Xamarin? lorsque je modifie le bundle, je gâche la signature du code, de sorte que l'application ne fonctionne que lorsque vous utilisez la configuration de débogage. –

Questions connexes