1
Xcode項目的Info.plist中的包標識符可能有多種形式,例如,使用shell腳本在XCode項目中查找包標識符
- com.company $(PRODUCT_NAME:rfc1034identifier)
- $(PRODUCT_BUNDLE_IDENTIFIER)
- 有人可以設計自己的產品捆綁標識符調試,發佈版本的等等類型和編寫針對捆綁標識符的變量,例如$(PRODUCTRUDOMVIDiable)。$(someRandomVariable)
我想寫一個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
}
這是我寫的,但它不包括所有的情況。