3

我昨晚刚刚更新到 Xcode 7.0,它似乎破坏了Receigen生成的代码。

CFStringRef ReceiptValidation_str1 = @obfuscateCF@("");

程序中出现意外的“@”

Receigen 自 2014 年以来一直没有更新,所以这几乎可以肯定是 Xcode 7 的问题。

我联系了 Receigen 的开发人员,但还没有收到回复(只有几个小时)。任何帮助,将不胜感激。

4

2 回答 2

5

在您的 Xcode Target 中,选择“Build Phases”选项卡,编辑您的 Receigen shell 脚本。替换如下所示的声明EXPANDED_BUNDLE_ID

EXPANDED_BUNDLE_ID=`eval \"echo $BUNDLE_ID\"

简单地通过变量PRODUCT_BUNDLE_IDENTIFIER(在 Xcode 7 中引入)

EXPANDED_BUNDLE_ID=$PRODUCT_BUNDLE_IDENTIFIER

(您也可以删除旧的、现在不需要的声明BUNDLE_ID

您的脚本应如下所示:

# Receigen binary
RECEIGEN="/Applications/Receigen.app/Contents/MacOS/Receigen"

# Extract Info.plist information
INPUT="$INFOPLIST_FILE"
BUNDLE_VERSION=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$INPUT"`

# Expand information if needed
EXPANDED_BUNDLE_ID=$PRODUCT_BUNDLE_IDENTIFIER
EXPANDED_BUNDLE_VERSION=`eval "echo $BUNDLE_VERSION"`

# ...etc...

注意:感谢@mcgyver42 的回答和这个问题

于 2015-10-08T08:25:49.870 回答
0

请参阅“从构建设置而不是 info.plist 获取 Bundle ID”。我认为这是同一个问题,我发布了一个解决方法。

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

于 2015-09-21T22:58:53.820 回答