32

アプリの Info.plist から Bundle Identifier やバージョン番号などの情報を読み取ることができるスクリプトを書きたいと思います。Xcode は、環境変数でその情報を提供していないようです。それらをsh/bashで取得する他の方法はありますか?

4

5 に答える 5

50

Apple のアプリである PlistBuddy を使用すると、次のように文字列を var に割り当てることができます。

#!/bin/sh   
BUNDLE_ID=$(/usr/libexec/PlistBuddy -c "Print :CFBundleIdentifier" "${BUILD_ROOT}/${INFOPLIST_PATH}")

BUILD_ROOT と INFOPLIST_PATH は、「スクリプトの実行」ビルド フェーズでこのスクリプトを実行する場合に Xcode によって設定される変数です。

于 2010-12-02T01:39:43.947 に答える
4

ビルドされた製品からファイルを直接読み取ることができます。ただし、エディターで info.plist ファイル自体を見ると、シェル変数自体が表示されます。たとえば、バンドル ID には次のシェル コマンドがあります。

com.yourcompany.${PRODUCT_NAME:rfc1034identifier}

${PRODUCT_NAME:rfc1034identifier}Xcode が実行する任意のシェル スクリプトを呼び出すことができ、データを入力する必要があります。

于 2010-12-01T20:58:39.457 に答える
3

Mac には、plist の値を読み書きできる PlistBuddy というコマンド ライン プログラムがインストールされています。ターミナルで「man PlistBuddy」と入力して、詳細情報を取得します。

于 2010-12-01T21:52:32.207 に答える