CocoaPod Prepare_command bash 脚本

CocoaPod Prepare_command bash script

我正在尝试使用 prepare_commandcocoapod 我有一个要执行的 .sh 文件:

#!/bin/bash

XCODE_ROOT=`xcode-select -print-path`
ARCHS="i386 armv7 armv7s arm64"
SDK_VERSION="7.1"
STATIC_ARCHIVES=""
for ARCH in ${ARCHS}
do
    PLATFORM=""
    if [ "${ARCH}" == "i386" ]; then
        PLATFORM="iPhoneSimulator"
    else
        PLATFORM="iPhoneOS"
    fi
    export     

DEV_ROOT="${XCODE_ROOT}/Platforms/${PLATFORM}.platform/Developer"
export SDK_ROOT="${DEV_ROOT}/SDKs/${PLATFORM}${SDK_VERSION}.sdk"
export 

     TOOLCHAIN_ROOT="${XCODE_ROOT}/Toolchains/XcodeDefault.xctoolchain/usr/bin/"
export CC=clang
export CXX=clang++
export AR=${TOOLCHAIN_ROOT}libtool
export RANLIB=${TOOLCHAIN_ROOT}ranlib
export ARFLAGS="-static -o"
export LDFLAGS="-arch ${ARCH} -isysroot ${SDK_ROOT}"
export BUILD_PATH="BUILD_${ARCH}"
export CXXFLAGS="-x c++ -arch ${ARCH} -isysroot ${SDK_ROOT} -I${BUILD_PATH}"
mkdir -p ${BUILD_PATH}

make -f Makefile
mv *.o ${BUILD_PATH}
mv *.d ${BUILD_PATH}
mv libcryptopp.a ${BUILD_PATH}
STATIC_ARCHIVES="${STATIC_ARCHIVES} ${BUILD_PATH}/libcryptopp.a"
done
echo "Creating universal library..."
mkdir -p bin
lipo -create ${STATIC_ARCHIVES} -output bin/libcryptopp.a
echo "Build done!"

但这在检查 pod 的 linting 时给我以下错误:

 make: *** No rule to make target `*.o', needed by `libcryptopp.a'.  Stop.
  mv: rename CryptoppECC/CryptoppLibrary/*.o to  CryptoppECC/CryptoppLibrary/BUILD_x86_64/*.o: No such file or  directory.....

它明确指出

make -f Makefile

执行 'MakeFile'

无效

使用的prepare_command是:

s.prepare_command= "sudo sh CryptoppECC/CryptoppLibrary/builder.sh"

谁能帮我指出我做错了什么?

终于,问题解决了。 问题是我从另一个目录调用脚本,而脚本在另一个目录中,因此我只是在脚本文件

之上放置了 1 条语句
cd  CryptoppECC/CryptoppLibrary/

之后一切正常。