2009-10-23 4 views
11

J'ai un projet XCode (A) faisant référence à un autre projet (B). Par défaut (pour autant que je le comprends), XCode construira implicitement la configuration pour la dépendance B qui correspond à la configuration de la cible A (par exemple, "Debug"). Mais que faire si je veux, par exemple, A construire comme "Debug" et le B pour construire comme "Release"? Comment pourrais-je spécifier cela dans XCode?Spécification de la configuration d'un sous-projet en mode Xcode

Répondre

4

Je ne connais pas d'approche simple, mais vous pouvez la forcer par force en appelant xcodebuild directement pour la dépendance avec une phase de construction "Exécuter le script".

Je sais que c'était juste un exemple, mais si votre objectif réel est que le sous-projet soit un build (pas de symboles), alors vous pouvez avoir une meilleure expérience en construisant simplement le sous-projet dans une bibliothèque ou cadre et en vérifiant le binaire résultant dans votre système de contrôle de version. Chaque fois que j'ai un élément du système qui change rarement et pour lequel je ne veux pas de symboles de débogage, je le construis comme une bibliothèque statique et je le vérifie. Je vais souvent de l'avant et déplace le code ailleurs (avec un fichier README avec le .a qui indique où le code est et comment il a été construit). Cela économise du temps sur la construction et la caisse et est inestimable pour les grands projets dans mon expérience.

+0

Oui, une astuce utile - merci! – fbrereto

3

Oui, ceci n'est pas naturellement supporté par Xcode; Lorsque vous construisez une cible, elle construit une configuration de lui-même et de toutes les cibles dépendantes. La solution de contournement, comme Rob l'a mentionné, est d'avoir une cible dépendante qui est un type de cible agrégée qui comprend une seule phase de génération de script d'exécution, qui appelle simplement xcodebuild -configuration Release (ou autre).

Questions connexes