2010-10-20 16 views
0

J'essaye de placer des arguments de ligne de commande pour le projet de Xcode lié à l'application de simulateur d'iPhone.Comment passer les arguments de la ligne de commande au projet Xcode via AppleScript?

Quand je tente d'exécuter le script suivant la ligne "faire un nouvel argument de lancement avec des propriétés {name:" file: ///Users/aakash/Desktop/sample_h.html "actif: oui}"

donne une erreur: erreur d'exécution: Xcode a une erreur: Impossible de créer ou déplacer cet élément dans ce conteneur. (-10024)

Voici le script:

!/bin/zsh 

BUILD_PATH=$(dirname $0) 

while [[ -z $BUILD_FILE && $BUILD_PATH != "/" ]]; do 
    BUILD_FILE=$(find $BUILD_PATH -name '*.xcodeproj' -maxdepth 1) 
    BUILD_PATH=$(dirname $BUILD_PATH) 
done 

if [[ -z $BUILD_FILE ]]; then 
    echo "Couldn't find an xcode project file in directory" 
    exit 1 
fi 

open -a Xcode "$BUILD_FILE" 

BUILD_FILE=${BUILD_FILE//\//:} 

SIMULATOR_SDKS=(/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/*.sdk) 

SIMULATOR_SDK=${SIMULATOR_SDKS[-1]} 
SIMULATOR_SDK_STRING=$(basename ${(L)SIMULATOR_SDK%.[a-z]*}) 

if [[ -z $SIMULATOR_SDK ]]; then 
    echo "Couldn't find a simulator SDK" 
    exit 1 
fi 

echo $BUILD_FILE 
echo $BUILD_PATH 

osascript <<SCRIPT 
application "iPhone Simulator" quit 
application "iPhone Simulator" activate 


tell application "Xcode" 
    open "$BUILD_FILE" 
    set targetProject to project of active project document 

    tell targetProject 
     set active build configuration type to build configuration type "Debug" 
     set active SDK to "$SIMULATOR_SDK_STRING" 
     set value of build setting "SDKROOT" of build configuration "Debug" of active target to "$SIMULATOR_SDK" 
     make new launch argument with properties{name:"file:///Users/aakash/Desktop/sample_h.html",active:no} 

     if (build targetProject) is equal to "Build succeeded" then 
       launch targetProject 
     else 
       application "iPhone Simulator" quit 
     end if 
    end tell 
end tell 
SCRIPT 

Tout ??? Clues Existe-t-il un autre moyen de définir des arguments pour Xcode Project ou suis-je en train de le faire? S'il vous plaît aider.

Répondre

0

Pour construire à partir de la ligne de commande, j'utilise généralement un Makefile qui lance xcodebuild, l'interface de ligne de commande vers Xcode. Vous pouvez également utiliser un script zsh pour faire la même chose, si vous préférez. Il est assez facile de définir les options de génération de projet à l'aide de l'outil de ligne de commande.

+0

xcodebuild ne fonctionne pas avec l'iPhone application de simulateur.Vous devez lancer "build and go" dans Xcode pour exécuter l'application. – Freakotrotter

0

Vous devez rendre exécutables actif comme conteneur au lieu de l'application Xcode

tell application "Xcode" 
set targetProject to project of active project document 
set targetExecutable to active executable of targetProject 
tell targetExecutable 
make new launch argument with properties {name:"new argument", active:true} 
end tell 
end tell 


cela fonctionne encore pour Xcode 3. * mais pas de travail à long avec Xcode 4. *