Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cocoapod openssl ios位码不再安装_Openssl_Cocoapods - Fatal编程技术网

cocoapod openssl ios位码不再安装

cocoapod openssl ios位码不再安装,openssl,cocoapods,Openssl,Cocoapods,我有一个项目,我一直在使用openssl ios位代码。正在对我的pod文件进行一些修改,意外地删除了条目。重新添加条目后,我发现pod不会重新安装 有一个prepare_命令 s.prepare_command = <<-CMD VERSION="1.0.2l" SDKVERSION=`xcrun --sdk iphoneos --show-sdk-version 2> /dev/null` MIN_SDKVERSION="7.0" BASE

我有一个项目,我一直在使用openssl ios位代码。正在对我的pod文件进行一些修改,意外地删除了条目。重新添加条目后,我发现pod不会重新安装

有一个prepare_命令

 s.prepare_command = <<-CMD
    VERSION="1.0.2l"
    SDKVERSION=`xcrun --sdk iphoneos --show-sdk-version 2> /dev/null`
    MIN_SDKVERSION="7.0"
    BASEPATH="${PWD}"
    CURRENTPATH="${TMPDIR}/openssl"
    ARCHS="i386 x86_64 armv7 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} -miphoneos-version-min=${MIN_SDKVERSION} -fembed-bitcode"
      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."
  CMD
s.prepare_command=“${LOG}”2>&1
sed-ie“s!^CFLAG=!CFLAG=-isysroot${CROSS\u TOP}/SDKs/${CROSS\u SDK}!”“Makefile”
使>>“${LOG}”2>&1
使所有安装\u sw>>“${LOG}”2>&1
清除>>“${LOG}”2>&1
完成
echo“构建库…”
rm-rf“${BASEPATH}/lib/”
mkdir-p“${BASEPATH}/lib/”
lipo-create${lipo_LIBSSL}-output“${BASEPATH}/lib/LIBSSL.a”
lipo-创建${lipo_LIBCRYPTO}-输出“${BASEPATH}/lib/LIBCRYPTO.a”
回显“复制标题…”
rm-rf“${BASEPATH}/opensslIncludes/”
mkdir-p“${BASEPATH}/opensslIncludes/”
cp-RL“${CURRENTPATH}/openssl-${VERSION}/include/openssl”“${BASEPATH}/opensslIncludes/”
cd“${BASEPATH}”
回声“建筑完成。”
回声“清理…”
rm-rf“${CURRENTPATH}”
回声“完成”
指令
它生成以下错误消息:cp:file.tgz:没有这样的文件或目录

认为下面这行是失败的地方:cp“file.tgz”“${CURRENTPATH}/file.tgz”

我在启用--verbose的情况下运行,可以看到文件正在下载,但不确定在哪里下载,但是curl命令显示下载成功

关于如何调试我的问题有什么想法吗


Thx找到了前进的方向。我一直在使用的openssl ios位码pod有一个prepare_命令语句,该语句假设从openssl.org下载的文件在下载时仍然是tar gz文件

似乎在这个过程中的某个地方,Cocoapods的行为发生了变化,下载的targz文件被自动分解。必须更新prepare_命令语句才能考虑到这一点

在为自己解决这个问题的过程中,我创造了我自己的,和

我遇到的另一个附带问题是,在iOS上执行收据验证的示例依赖于帮助函数来获取pkcs7_st结构内部的union。我在一些博客中找到了一些关于如何纠正这种情况的最新示例,并将这些示例复制到了一份新的回购协议中。曾试图将这些助手函数转换为一个单独的pod,但无法解决某些模块问题