Xcode脚本 – 从构建设置而不是info.plist获取Bundle ID

Xcode脚本 – 从构建设置而不是info.plist获取Bundle ID,第1张

概述我正在使用Receigen进行Apple收据检查. 我在构建过程中集成了一个脚本,为我的项目生成适当的文件: # Receigen binaryRECEIGEN="/Applications/Receigen.app/Contents/MacOS/Receigen"# Extract Info.plist informationINPUT="$INFOPLIST_FILE"BUNDLE_ 我正在使用Receigen进行Apple收据检查.
我在构建过程中集成了一个脚本,为我的项目生成适当的文件:

# Receigen binaryRECEIGEN="/Applications/Receigen.app/Contents/MacOS/Receigen"# Extract Info.pList informationinput="$INFOPList_file"BUNDLE_ID=`/usr/libexec/PListBuddy -c "Print CFBundleIDentifIEr" "$input"`BUNDLE_VERSION=`/usr/libexec/PListBuddy -c "Print CFBundleShortVersionString" "$input"`# Expand information if neededEXPANDED_BUNDLE_ID=`eval "echo $BUNDLE_ID"`EXPANDED_BUNDLE_VERSION=`eval "echo $BUNDLE_VERSION"`# Make sure the destination directory existsmkdir -p "$DERIVED_fileS_DIR"header="$DERIVED_fileS_DIR/receiptCheck.h"# Check if the generation is neededif [ -e "$header" ]; thenSKIP=`grep -q "$EXPANDED_BUNDLE_ID" "$header" && grep -q "$EXPANDED_BUNDLE_VERSION" "$header" && echo "YES"`fi# Generate the header file if neededif [ "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 =开头的行,因为不再需要它.

总结

以上是内存溢出为你收集整理的Xcode脚本 – 从构建设置而不是info.plist获取Bundle ID全部内容,希望文章能够帮你解决Xcode脚本 – 从构建设置而不是info.plist获取Bundle ID所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1052934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存