(std::string const&) in libH5ContainerStaticLib.a(.. 处理

首先看看报错:

Undefined symbols for architecture x86_64:
  "std::basic_string, std::allocator >::~basic_string()", referenced from:
      __GLOBAL__sub_I_base64.mm in libH5ContainerStaticLib.a(base64.o)
  "std::string::reserve(unsigned long)", referenced from:
      Base64::encode64(std::string const&) in libH5ContainerStaticLib.a(base64.o)
      Base64::decode64(std::string const&) in libH5ContainerStaticLib.a(base64.o)
  "std::string::push_back(char)", referenced from:
      aes_encrypt(std::string const&, char*) in libH5ContainerStaticLib.a(output.o)
  "std::string::assign(char const*, unsigned long)", referenced from:
      PaddingMsg(std::string&, std::string&) in libH5ContainerStaticLib.a(output.o)
      -[output getOutput1:m_strInput1:secretKey:] in libH5ContainerStaticLib.a(output.o)
      -[output getOutput4:m_strInput1:m_strInput2:m_certype:secretKey:] in libH5ContainerStaticLib.a(output.o)

以上只是部分内容,能表示错误即可。

多年前的项目,今天升级SDK遇到的坑,本文的目的不是解决问题,应为这并不是解决方式,只能说是处理方法(因为是放弃SDK的使用)。

开始我也不知道项目中的"BestPaySDK-V3.0.0" 使用的是那个第三方的SDK,爬代码知道这是翼支付集成。知道那个第三方的SDK那是好事,第一反应是去官网查看集成文档升级。我呸~~~,去 中国电信天翼开放平台 。结果让你没想到,没有iOS版本支持的SDK,只有Android的SDK。

libH5ContainerStaticLib.a 是使用 翼支付 SDK时导入的包,libH5ContainerStaticLib.a 使用的系统库 libstdc++..库,而使用高版本的Xcode10+,支持的不是libstdc++...的库,而是libc++类的库。这就尴尬了,所以最后(iOS)是放弃翼支付功能。

 

你可能感兴趣的:(iOS,Swift)