別のオプションは、*.xib ファイルを非グループ ディレクトリからメイン バンドルにコピーできる「ビルド フェーズ」の最後に実行される「実行スクリプト」を作成することです。xib ファイルをコピーするだけでなく、ibtool
コマンドを使用して *.nib ファイルにコンパイルする必要があります。以下は、私が使用しているスクリプトの例です。
# For some reason the tilde is causing problems with find
# so I am replacing the tilde with /Users/whoami
user=`whoami`
# We will find all non-nib files in this directory and copy them into the main bundle
find -L ${LW_ISHARE_PLATFORM_SRC/\~/\/Users\/$user}/lw-ishare-platform-nibs -type f -not -name ".*" -not -name "*.xib" | xargs -t -I {} cp {} ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/
export IBC_MINIMUM_COMPATIBILITY_VERSION=${IPHONEOS_DEPLOYMENT_TARGET}
#setenv PATH "/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export XCODE_DEVELOPER_USR_PATH="/Developer/usr/bin/"
# Now compile all xib files into nib files
for each in `find -L ${LW_ISHARE_PLATFORM_SRC/\~/\/Users\/$user}/lw-ishare-platform-nibs -type f -name "*.xib"`
do
prefix=`basename "${each}" .xib`
${XCODE_DEVELOPER_USR_PATH}/ibtool --errors --warnings --notices --output-format human-readable-text --compile ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${prefix}.nib ${each} --sdk ${SDKROOT}
done
exit 0
$LW_ISHARE_PLATFORM_SRC
は私にとってグローバルな XCode 変数であり、すべての *.xib および関連リソースを$LW_ISHARE_PLATFORM_SRC/lw-ishare-platform-nibs
ディレクトリに配置しています。
${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}
「メインバンドル」へのパスです。