Как вы строите PoDoFo на iOS с поддержкой Openssl?

У меня есть проект, который использует PoDoFo для цифровой подписи PDF, поэтому я пытаюсь интегрировать CTOpenSSLWrapper в один проект, который использует библиотеки PoDoFo и OpenSSL. Но когда я пытаюсь его создать, у меня возникают проблемы со ссылками:

введите описание изображения здесь

Та же ошибка повторяется с ld: symbol(s) not found for architecture armv7 если я попытаюсь запустить на устройстве.

Я перепроверил каждую вещь:

  1. пути поиска заголовка
  2. пути поиска в библиотеке
  3. Buildphases->compile для любых отсутствующих файлов.m

Но у меня все еще есть та же проблема.

Как я могу решить это?

1 ответ

Я перепроверил каждую вещь:

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

Похоже, вы не включили библиотеку (предоставляя только путь поиска библиотеки).

Вот как выглядит типичная библиотека для меня. Это для OpenSSL, но то же самое относится и к PoDoFo. В приведенном ниже примере OpenSSL, созданный для iOS, расположен в /usr/local/ssl/ios, Заголовки расположены в находится в /usr/local/ssl/ios/include/opensslи библиотеки расположены в /usr/local/ssl/ios/lib,

Пути:

введите описание изображения здесь

Библиотека:

введите описание изображения здесь


Если после добавления библиотеки по-прежнему возникают ошибки компоновщика, выполните следующие действия, чтобы убедиться, что в вашей библиотеке есть нужные архитектуры. Я использую OpenSSL в качестве примера, вы должны использовать имя библиотеки PoDoFo.

xcrun -sdk iphoneos lipo -info libcrypto.a

Вы должны увидеть что-то вроде:

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

Если вам нужен OpenSSL, созданный для iOS, попробуйте этот GitHub: https://github.com/noloader/openssl-1.0.1h-ios. Это толстая библиотека, и в ней есть все архитектуры, которые могут вам понадобиться для iOS.

Другие вопросы по тегам