3

昨夜 Xcode 7.0 にアップデートしたところ、Receigenの生成コードが壊れたようです。

CFStringRef ReceiptValidation_str1 = @obfuscateCF@("");

プログラムに予期しない '@' があります

Receigen は 2014 年以降更新されていないため、これはほぼ確実に Xcode 7 の問題です。

Receigen の開発者に連絡しましたが、まだ返事がありません (数時間しか経っていません)。どんな助けでも大歓迎です。

4

2 に答える 2

5

Xcode ターゲットの [ビルド フェーズ] タブで、Receigen シェル スクリプトを編集します。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 の代わりにビルド設定からバンドル ID を取得する」を参照してください。同じ問題だと思うので、回避策を投稿しました。

Xcode スクリプト - info.plist の代わりにビルド設定からバンドル ID を取得する

于 2015-09-21T22:58:53.820 に答える