2011-02-03 3 views
2

私は他のフォーマットのデータからPlistを生成するルビスクリプトを作成しました(このスクリプトはxcodeのプロジェクトフォルダ内にあります)。Plistを作成してリソースバンドルにコピーするビルドフェーズ

私は私のスクリプトを呼び出すカスタム実行するスクリプトのビルドフェーズを作った:

echo "Running xls Plister" 
cd ${PROJECT_DIR}/plistr 
ruby plistr.rb 
scriptExitStatus=$? 
echo "DONE with script: (exitStatus=${scriptExitStatus})" 
exit "${scriptExitStatus}" 

このスクリプトの出力はどのように私は理解することはできませんどのような次のフォルダ${PROJECT_DIR}/plistr/output/data.plist

でplistのですコピーこのバンドルのリソースで私はこのようなものでそれにアクセスすることができます。

[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"]; 

EDIT:私の実際の問題を回避するには、最初のビルドステップとしてスクリプトを実行することですバンドルにのInfo.plistをコピー

cp /tmp/foo.txt ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app 

は注意してください、:、手動であなたがバンドルにこの方法をファイルをコピーすることができ

答えて

9

「コピーバンドルリソース」で生成されたplistへの参照を追加推奨されていない場合は、バンドルリソースのビルドフェーズでコピーされた場合にも警告が表示されます。

this official statementをご覧ください。

+0

「公式声明」へのリンクを修正してください。これは有効なリンクではないようです。ありがとうございました。 – Mecki

+0

その記事は、アプリのInfo.plistファイルをコピーするのが唯一悪いことではなく、plists(OPがやっているような動的に生成されたplistのようなもの)ではないと言っています – mgrandi

+0

@mgrandi私は少し答えを編集しました。 –

関連する問題