2017-09-19 3 views
0

J'ai une application iOS qui utilise l'infrastructure Agentry pour définir l'URL du serveur Agentry à connecter. Le paramètre agentryServerURL est inclus dans un fichier branding.plist distinct conformément aux spécifications SAP. Ce que j'essaye de faire est de lier mes schémas iOS pour les différents environnements à une action de préconstruire afin de changer la valeur de l'URL Agentry.iOS Action de préconfiguration pour modifier la valeur de plist basée sur le schéma

Voici mon script actuel, mais il ne fonctionne pas.

#!/bin/sh 

plist=$SRCROOT"/branding.plist" 

if [ ${CONFIGURATION} = "DEV" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpdevURL" "$plist" 

if [ ${CONFIGURATION} = "QA" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpqaURL" "$plist" 

if [ ${CONFIGURATION} = "Release" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpprodURL" "$plist" 
    fi 

C'est la première fois que je l'ai écrit un script de pré-construction donc il est probablement quelque chose avec ma syntaxe

Répondre

1

Essayez ceci:

#!/bin/sh 

plist="${SRCROOT}/branding.plist" 

if [ "${CONFIGURATION}" == "DEV" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpdevURL" "$plist" 
elif [ "${CONFIGURATION}" == "QA" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpqaURL" "$plist" 
elif [ "${CONFIGURATION}" == "Release" ]; then 
/usr/libexec/PlistBuddy -c "Set :agentryServerURL https://smpprodURL" "$plist" 
fi 
+0

Cela ne fonctionne pas, une différence que je réalisé est ma configuration est en fait Debug/QA/Release donc j'ai changé cela dans la déclaration IF, mais toujours pas de chance. Y at-il quelque chose que je dois faire pour installer plistbuddy? – Nate23VT

+0

Hmm cela a fonctionné pour moi ici quand je l'ai mis en place comme une phase de construction de script pour la cible. Comme votre original, il faut que le plist que vous changez déjà soit dans le même répertoire que votre fichier de projet, avec la clé que vous allez changer. Donc, le plus haut niveau de la plist devrait être le dictionnaire racine, et ensuite vous devriez avoir une clé de agentryServerURL avec une valeur de chaîne. As-tu cela? – clarus

+0

Le problème était que je n'avais pas sélectionné la valeur "Fournir les paramètres de construction à partir de". – Nate23VT