Xcode项目的Info.plist中的Bundle标识符可以有各种形式,例如
我想写一个shell脚本,它只是正确地读取包标识符。
但是,如果你只知道shell脚本 - 我知道,如何在$()中找出变量的值,但是想要一个shell脚本应该在字符串中给我所有这些变量然后我会有代码来计算输出它们的值,我将创建字符串,并将变量替换为值。
function getBundleIdentifier
{
cfBundleIdentifier=${PRODUCT_BUNDLE_IDENTIFIER}
if [ ${#cfBundleIdentifier} -lt 1 ]; then
SOURCE="rfc1034identifier"
cfBundleIdentifier=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "${PROJECT_DIR}/${INFOPLIST_FILE}")
if echo "$cfBundleIdentifier" | grep -q "$SOURCE"; then
echo `eval echo $cfBundleIdentifier``eval echo ${PRODUCT_NAME:rfc1034identifier}`
else
echo `eval echo $cfBundleIdentifier`
fi
else
echo $cfBundleIdentifier
fi
}
这是我所写的内容,但并未涵盖所有案例。
答案 0 :(得分:3)
这很简单,只需运行此命令:
BUNDLE_ID=`xcodebuild -showBuildSettings | grep PRODUCT_BUNDLE_IDENTIFIER`
echo $BUNDLE_ID