如何在iOS上使用Openssl支持构建PoDoFo?

时间:2014-07-08 12:24:17

标签: ios iphone openssl podofo

我有一个使用PoDoFo进行数字签名的项目,因此我尝试将CTOpenSSLWrapper集成到一个使用PoDoFo和OpenSSL库的项目中。但是当我尝试构建它时,我遇到链接问题:

enter image description here

如果我尝试在设备上运行,则会向ld: symbol(s) not found for architecture armv7重复相同的错误。

我已经交叉检查过每件事:

  1. 标题搜索路径
  2. 图书馆搜索路径
  3. Buildphases->编译任何缺少的.m文件的来源
  4. 但我仍有同样的问题。

    我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

我已经交叉检查过每件事:

 1. header search paths
 2. library search paths
 3. Buildphases->compile sources for any missing .m files

您似乎包括库(仅提供库搜索路径)。

这是典型的库包含对我而言的样子。它适用于OpenSSL,但同样适用于PoDoFo。在下面的示例中,为iOS构建的OpenSSL位于/usr/local/ssl/ios。标题位于/usr/local/ssl/ios/include/openssl,图书馆位于/usr/local/ssl/ios/lib

<强>路径

enter image description here

<强>库

enter image description here


如果在添加库后仍然存在链接器错误,请执行以下操作以确保库具有您需要的体系结构。我使用OpenSSL作为示例,您应该使用PoDoFo库的名称。

xcrun -sdk iphoneos lipo -info libcrypto.a

您应该看到类似的内容:

Architectures in the fat file: libcrypto.a are: armv7 armv7s arm64 i386

如果您需要为iOS构建的OpenSSL,请尝试使用此GitHub:noloader/openssl-1.0.1h-ios。它是一个胖库,拥有iOS可能需要的所有架构。