Mon client me fournit deux bibliothèques précompilées, blah-device.a et blah-simulator.a. Comment puis-je dire à xcode d'utiliser blah-device.a en mode de compilation Device et de simuler en mode de compilation Simulator?Comment lier différentes bibliothèques précompilées pour différents profils de construction dans XCode pour iPhone?
Mon client me donne ces instructions
- Ouvrez le groupe Cibles (dans les groupes & panneau Fichiers), cliquez droit sur l'icône du projet , puis sélectionnez Ajouter> Cadres existants.
- Dans la section Bibliothèques Linked, cliquez sur l'icône Ajouter Bibliothèques (+), puis cliquez sur Ajouter Autre.
- Sélectionnez soit bla-dispositif.Procédé (pour le développement directement sur l'appareil iPhone ) ou bla-simulator.a (pour le développement sur le simulateur iPhone), puis cliquez sur Ajouter.
Je l'ai déjà copié le fichier d'en-tête là-bas, mais ces instructions ne font pas la construction facile avec des profils différents.
Comment puis-je Xcode pour relier bla-dispositif.Procédé lors de la construction avec les profils de périphériques et bla-simulator.a lors de la construction avec les profils SIMULATEUR?
Toute aide est grandement appréciée.
Merci! De toute façon pour accomplir ceci sans une autre cible et juste en utilisant les paramètres de construction des profils XCode? – CVertex
Le problème est que blah-device.a et blah-simulator.a exportent les mêmes symboles. Un moyen de contourner cela est de tester en fonction de #if TARGET_IPHONE_SIMULATOR ... dans l'en-tête et de définir Foo comme une macro de préprocesseur pour FooDevice vs FooSimulator. Ensuite, vous pouvez inclure les deux bibliothèques et le bon symbole est lié. Mais si les deux bibliothèques contiennent les mêmes symboles de liens, vous obtiendrez des erreurs de symboles en double. Dans ce cas, le seul moyen est d'exclure l'un d'un lien dans une situation par rapport à l'autre. Vous pouvez jouer avec les valeurs du chemin de l'éditeur de liens, mais il est beaucoup plus facile d'utiliser plusieurs cibles. – Ramin