美文网首页
CocoaPods执行pod install时安装OpenSSL

CocoaPods执行pod install时安装OpenSSL

作者: Uncle_fs | 来源:发表于2017-12-26 14:53 被阅读0次

    升级到Xcode9.2后,CocoaPods执行pod install时安装OpenSSL报错

    Installing OpenSSL (1.0.210)

    [!] /bin/bash -c

    set -e

    VERSION="1.0.2j"

    SDKVERSION=`xcrun --sdk iphoneos --show-sdk-version 2> /dev/null`

    MIN_SDK_VERSION_FLAG="-miphoneos-version-min=7.0"

    BASEPATH="${PWD}"

    CURRENTPATH="/tmp/openssl"

    ARCHS="i386 x86_64 armv7 armv7s arm64"

    DEVELOPER=`xcode-select -print-path`

    mkdir -p "${CURRENTPATH}"

    mkdir -p "${CURRENTPATH}/bin"

    cp "file.tgz" "${CURRENTPATH}/file.tgz"

    cd "${CURRENTPATH}"

    tar -xzf file.tgz

    cd "openssl-${VERSION}"

    for ARCH in ${ARCHS}

    do

      CONFIGURE_FOR="iphoneos-cross"

      if [ "${ARCH}" == "i386" ] || [ "${ARCH}" == "x86_64" ] ;

      then

        PLATFORM="iPhoneSimulator"

        if [ "${ARCH}" == "x86_64" ] ;

        then

          CONFIGURE_FOR="darwin64-x86_64-cc"

        fi

      else

        sed -ie "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" "crypto/ui/ui_openssl.c"

        PLATFORM="iPhoneOS"

      fi

      export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"

      export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk"

      echo "Building openssl-${VERSION} for ${PLATFORM} ${SDKVERSION} ${ARCH}"

      echo "Please stand by..."

      export CC="${DEVELOPER}/usr/bin/gcc -arch ${ARCH} ${MIN_SDK_VERSION_FLAG}"

      mkdir -p "${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk"

      LOG="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/build-openssl-${VERSION}.log"

      LIPO_LIBSSL="${LIPO_LIBSSL} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libssl.a"

      LIPO_LIBCRYPTO="${LIPO_LIBCRYPTO} ${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk/lib/libcrypto.a"

      ./Configure ${CONFIGURE_FOR} --openssldir="${CURRENTPATH}/bin/${PLATFORM}${SDKVERSION}-${ARCH}.sdk" > "${LOG}" 2>&1

      sed -ie "s!^CFLAG=!CFLAG=-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} !" "Makefile"

      make >> "${LOG}" 2>&1

      make all install_sw >> "${LOG}" 2>&1

      make clean >> "${LOG}" 2>&1

    done

    echo "Build library..."

    rm -rf "${BASEPATH}/lib/"

    mkdir -p "${BASEPATH}/lib/"

    lipo -create ${LIPO_LIBSSL}    -output "${BASEPATH}/lib/libssl.a"

    lipo -create ${LIPO_LIBCRYPTO} -output "${BASEPATH}/lib/libcrypto.a"

    echo "Copying headers..."

    rm -rf "${BASEPATH}/opensslIncludes/"

    mkdir -p "${BASEPATH}/opensslIncludes/"

    cp -RL "${CURRENTPATH}/openssl-${VERSION}/include/openssl" "${BASEPATH}/opensslIncludes/"

    cd "${BASEPATH}"

    echo "Building done."

    echo "Cleaning up..."

    rm -rf "${CURRENTPATH}"

    echo "Done."

    Building openssl-1.0.2j for iPhoneSimulator 11.2 i386

    Please stand by...

    解决方案:

    在Xcode9下面重新编译并生成依赖OpenSSL所涉及的.a文件

    相关文章

      网友评论

          本文标题:CocoaPods执行pod install时安装OpenSSL

          本文链接:https://www.haomeiwen.com/subject/egxjgxtx.html