#!/bin/sh # This script is needed because adding entitlements through Xcode configuration doesn't get dependencies right in some cases, . app_path="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}" app_binary_path="${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" entitlement_file=PluginProcess/mac/PluginProcess.entitlements if [[ ${CONFIGURATION} == "Production" ]]; then exit fi osx_version=$(sw_vers -productVersion | cut -d. -f 2) if (( ${osx_version} <= 6 )); then exit fi needs_signing=0 # If the signature is invalid (e.g. due to updated resources), we need to re-sign it. codesign --verify "${app_path}" 2> /dev/null if [[ $? != 0 ]]; then needs_signing=1 else # If the entitlements file is newer than the binary, we need to re-sign the app. if [[ "${entitlement_file}" -nt "${app_binary_path}" ]]; then needs_signing=1 fi fi if [[ $needs_signing == 0 ]]; then exit fi if [ ! $CODESIGN_ALLOCATE ]; then export CODESIGN_ALLOCATE=$(xcrun -find codesign_allocate) fi codesign -f -s - --entitlements "${entitlement_file}" "${app_path}"