ios - Cocoapod OpenSSL 安装问题

标签 ios openssl cocoapods

我正在尝试将 OpenSSL Cocoapod 安装到我的 iOS 项目中。

这是我的 Podfile 中的代码:

platform :ios, '10.3'

target 'MyApp' do

  use_frameworks!

  pod 'OpenSSL', '~> 1.0'

end

当我在终端中运行“pod install”时出现此错误并且安装停止。

[!] /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;!staticvolatile 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."

我找到了 this github上的线程。根据线程,应该有/tmp/openssl 文件夹或 Xcode 有不同的名称。没有/tmp/openssl 文件夹,Xcode 仅命名为 Xcode。我找不到解决此问题的任何其他链接。

请帮我安装。

最佳答案

可能您的 Xcode 中存在错误配置...试试这个:

preferences -> Locations -> Set The command line tools.

有时,当您更新 xcode 时,此选项会自动取消选择...

关于ios - Cocoapod OpenSSL 安装问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45299229/

相关文章:

ios - 使用云工具包将图像上传到icloud会抛出错误ios

iphone - 我在 Xcode 4.5.2 中收到 'deprecated' 警告

python - 为 Python 2.6 添加 SSL 支持

ios - 未加载框架库 : 'Image not found'

ios - 根据 bool 值切换 View Controller

ruby-on-rails - 在 Ruby on Rails 应用程序中使用客户端 SSL

php - 从 MIME 创建 S/MIME?

swift - 使用 MaterialComponents 框架时出现 "Image not found"错误

ios - 如何对 Cocoapods 安装进行 nuke 并从 Github master 开始

ios - 检查 iOS 推送通知状态是否未确定