Xcode脚本 – 从构建设置而不是info.plist获取Bundle ID
发布时间:2020-12-14 19:32:17 所属栏目:百科 来源:网络整理
导读:我正在使用Receigen进行Apple收据检查. 我在构建过程中集成了一个脚本,为我的项目生成适当的文件: # Receigen binaryRECEIGEN="/Applications/Receigen.app/Contents/MacOS/Receigen"# Extract Info.plist informationINPUT="$INFOPLIST_FILE"BUNDLE_ID=`/u
我正在使用Receigen进行Apple收据检查.
我在构建过程中集成了一个脚本,为我的项目生成适当的文件: # Receigen binary RECEIGEN="/Applications/Receigen.app/Contents/MacOS/Receigen" # Extract Info.plist information INPUT="$INFOPLIST_FILE" BUNDLE_ID=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" "$INPUT"` BUNDLE_VERSION=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INPUT"` # Expand information if needed EXPANDED_BUNDLE_ID=`eval "echo $BUNDLE_ID"` EXPANDED_BUNDLE_VERSION=`eval "echo $BUNDLE_VERSION"` # Make sure the destination directory exists mkdir -p "$DERIVED_FILES_DIR" HEADER="$DERIVED_FILES_DIR/receiptCheck.h" # Check if the generation is needed if [ -e "$HEADER" ]; then SKIP=`grep -q "$EXPANDED_BUNDLE_ID" "$HEADER" && grep -q "$EXPANDED_BUNDLE_VERSION" "$HEADER" && echo "YES"` fi # Generate the header file if needed if [ "x$SKIP" = "x" ]; then "$RECEIGEN" --identifier "$EXPANDED_BUNDLE_ID" --version "$EXPANDED_BUNDLE_VERSION" --failure 'exitwith173' --success 'runapplication' --os osx > "$HEADER" fi Xcode 7的问题在于这一行: BUNDLE_ID=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" "$INPUT"` 因为新Xcode上的BundleID在构建设置而不是Info.plist上,我相信构建设置上的键是$(PRODUCT_BUNDLE_IDENTIFIER) 有没有办法从脚本的构建设置中提取Bundle Id? 解决方法
您只需使用$PRODUCT_BUNDLE_IDENTIFIER而不是对包ID进行硬编码:
EXPANDED_BUNDLE_ID=$PRODUCT_BUNDLE_IDENTIFIER (请注意,PRODUCT_BUNDLE_IDENTIFIER周围没有括号). 然后,您可以删除以BUNDLE_ID =开头的行,因为不再需要它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |