# Don't choke if projects or targets have spaces in the name
OLDIFS=$IFS
IFS=$(echo "")

# Remove unused architectures if archiving

MOBILE_COMMERCE_SDK_FRAMEWORK="SquareInAppPaymentsSDK.framework"

# Restore original field separator so $ARCHS is recognized as an array.
IFS=$OLDIFS

if [ "$ACTION" = "install" ]; then
	FRAMEWORKS_PATH="${TARGET_BUILD_DIR}/${WRAPPER_NAME}/Frameworks"

    FRAMEWORK_EXECUTABLE_NAME=$(defaults read "$FRAMEWORKS_PATH/$MOBILE_COMMERCE_SDK_FRAMEWORK/Info.plist" CFBundleExecutable)
    FRAMEWORK_EXECUTABLE_PATH="$FRAMEWORKS_PATH/$MOBILE_COMMERCE_SDK_FRAMEWORK/$FRAMEWORK_EXECUTABLE_NAME"

    # echo "Executable is $FRAMEWORK_EXECUTABLE_PATH"

    EXTRACTED_ARCHS=()

    for ARCH in $ARCHS
    do
        echo "Extracting $ARCH from $FRAMEWORK_EXECUTABLE_NAME"
        lipo -extract "$ARCH" "$FRAMEWORK_EXECUTABLE_PATH" -o "$FRAMEWORK_EXECUTABLE_PATH-$ARCH"
        EXTRACTED_ARCHS+=("$FRAMEWORK_EXECUTABLE_PATH-$ARCH")
    done

    echo "Merging extracted architectures: ${ARCHS}"
    lipo -o "$FRAMEWORK_EXECUTABLE_PATH-merged" -create "${EXTRACTED_ARCHS[@]}"
    rm "${EXTRACTED_ARCHS[@]}"

    # echo "Replacing original executable with thinned version"
    rm "$FRAMEWORK_EXECUTABLE_PATH"
    mv "$FRAMEWORK_EXECUTABLE_PATH-merged" "$FRAMEWORK_EXECUTABLE_PATH"
fi

# Don't choke if projects or targets have spaces in the name
IFS=$(echo "")

# Codesign
for filename in "${CODESIGNING_FOLDER_PATH}/Frameworks/$MOBILE_COMMERCE_SDK_FRAMEWORK"; do
	codesign --force --sign "${EXPANDED_CODE_SIGN_IDENTITY}" $filename
	if [ $? != 0 ]; then
		echo "error: Code signing failed."
		exit 1
	fi
done

IFS=$OLDIFS
