-
-
Save alexszilagyi/e0db78298d0719b4f75fffe78eef661e to your computer and use it in GitHub Desktop.
Pods-TARGET-resources.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
set -e | |
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt | |
> "${RESOURCES_TO_COPY}" | |
XCASSET_FILES=() | |
case "${TARGETED_DEVICE_FAMILY}" in | |
1,2) | |
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" | |
;; | |
1) | |
TARGET_DEVICE_ARGS="--target-device iphone" | |
;; | |
2) | |
TARGET_DEVICE_ARGS="--target-device ipad" | |
;; | |
3) | |
TARGET_DEVICE_ARGS="--target-device tv" | |
;; | |
4) | |
TARGET_DEVICE_ARGS="--target-device watch" | |
;; | |
*) | |
TARGET_DEVICE_ARGS="--target-device mac" | |
;; | |
esac | |
install_resource() | |
{ | |
if [[ "$1" = /* ]] ; then | |
RESOURCE_PATH="$1" | |
else | |
RESOURCE_PATH="${PODS_ROOT}/$1" | |
fi | |
if [[ ! -e "$RESOURCE_PATH" ]] ; then | |
cat << EOM | |
error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. | |
EOM | |
exit 1 | |
fi | |
case $RESOURCE_PATH in | |
*.storyboard) | |
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" | |
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} | |
;; | |
*.xib) | |
echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" | |
ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} | |
;; | |
*.framework) | |
echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" | |
;; | |
*.xcdatamodel) | |
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" | |
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" | |
;; | |
*.xcdatamodeld) | |
echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" | |
xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" | |
;; | |
*.xcmappingmodel) | |
echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" | |
xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" | |
;; | |
*.xcassets) | |
ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" | |
XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") | |
;; | |
*) | |
echo "$RESOURCE_PATH" | |
echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" | |
;; | |
esac | |
} | |
mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then | |
mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
fi | |
rm -f "$RESOURCES_TO_COPY" | |
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] | |
then | |
# Find all other xcassets (this unfortunately includes those of path pods and other targets). | |
OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) | |
while read line; do | |
if [[ $line != "${PODS_ROOT}*" ]]; then | |
XCASSET_FILES+=("$line") | |
fi | |
done <<<"$OTHER_XCASSETS" | |
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment