iOS预构建操作,根据Scheme更改plist值

时间:2017-09-19 18:42:38

标签: ios xcode sh pre-build-event

我有一个iOS应用程序正在使用Agentry框架来定义要连接的Agentry服务器URL。根据SAP规范,agentryServerURL参数包含在单独的branding.plist文件中。我想要做的是将针对不同环境的iOS方案绑定到预构建操作,以便更改Agentry URL值。

这是我当前的脚本,但它不起作用。

#!/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

这是我第一次编写预构建脚本,因此很可能是我的语法

1 个答案:

答案 0 :(得分:1)

试试这个:

#!/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