Ajout Link Binary with Librairies ligne de commande

Bonjour à  tous !


 


Voilà , je cherche à  ajouter des frameworks, comme via l'interface graphique de Xcode 


 


Capture_d_cran_2015_09_03_11_05_52.png

 

Mais ce en ligne de commande.

 

J'ai trouvé deux autres postes qui semble prometteur, mais

 


Semble dire que c'est impossible sans utiliser un script python externe, ce que je souhaite éviter.

 


Je n'arrive pas à  trouver de commande qui fonctionne. Le plus proche semble être 

 

xcodebuild \

WRAPPER_EXTENSION="AdSupport.framework"

 

Mais cela ne marche évidement pas.

 

 

Voilà , seriez vous comment faire ?

 

Merci de m'avoir lut ;)

Réponses

  • AliGatorAliGator Membre, Modérateur
    "xcodebuild WRAPPER_EXTENSION=AdSupport.framework" n'a aucun sens, WRAPPER_EXTENSION c'est l'extension à  utiliser pour le bundle généré, par exemple ".ipa" pour une application iOS, ".bundle" pour un bundle de resources, ".framework" quand tu es en train de builder un framework OSX ou iOS8, ... Je doute que tu veuilles générer une application nommée "MaSuperAppli.AdSupport.framework" au lieu de "MaSuperAppli.app" !

    Si tu veux juste les rajouter au moment de l'invocation de la ligne de commande de compilation, il suffit d'utiliser les mêmes flags que ceux qu'utilise Xcode (et que tu peux voir dans les logs de ton projet quand tu as fait un Build) en l'occurrence ajouter le flag "-framework AdSupport.framework" à  ton linker. En pensant au passage à  utiliser $(inherited) aussi pour hériter des flags existants et y rajouter le tien, plutôt que de les écraser.

    Pour indiquer à  xcodebuild des flags supplémentaires à  passer au linker, tu as le Build Setting "OTHER_LDFLAGS" qui sert justement à  ça, donc avec ça tu devrais t'en sortir :

    xcodebuild OTHER_LDFLAGS="$(inherited) -framework AdSupport.framework"
  • Yata !!


     


    Merci beaucoup pour ton aide, avec un peu de confiture cela donne :


     


    codebuild OTHER_LDFLAGS="$(inherited) -framework AVFoundation -framework AdSupport -framework CoreMedia -framework CoreTelephony -framework MediaPlayer -framework SystemConfiguration" 


     

    Donc bien rajouter le -framework et retirer le .framework pour chaque librairie.

     

    Merci beaucoup pour ton aide AliGator !

Connectez-vous ou Inscrivez-vous pour répondre.