Установка библиотеки OpenSSL для Xcode
Я установил OpenSSL в xcode для проверки валидации, но он не работает.
Загружаю openssl.xcodeproj
и openssl-1.0.1f
. Я извлекаю openssl-1.0.1f и добавляю openssl.xcodeproj
к моему проекту.
![files in finder]()
![inserted openssl.xcodeproj]()
Я редактирую Header Search Path
для:
/Users/marko/Documents/Razvoj/BIView\ Mobile\ New\ Version/openssl/include/openssl
Я добавил libcrypto.a
в Target Dependencies
в разделе "Фазы сборки"
и добавил libcrypto.a
в Link Binary With Libraries
как описано в http://atastypixel.com/blog/easy-inclusion-of-openssl-into-iphone-app-projects/.
Но когда я строю проект, он останавливается с ошибкой:
clang: error: no such file or directory: '/Users/ .... -bmgslnakszsfovecplbzoslykrxo/Build/Products/Debug-iphoneos/libcrypto.a'
Почему?
Ответы
Ответ 1
ОК, как его построить и установить....
Возможно, было бы проще использовать предварительно построенную версию OpenSSL для iOS. Вы можете найти его в этой учетной записи Github. OpenSSL из этого Github являются многоэкранными. У них есть ARMv7, ARMv7, ARM64 и i386. Это означает, что они работают с устройствами и симуляторами.
Загрузите OpenSSL 1.0.1e или 1.0.1f. Установите его в таком месте, как /usr/local/ssl/ios
.
Затем добавьте заголовки в проект Xcode. Они расположены в /usr/local/ssl/ios/include
:
![enter image description here]()
Наконец, добавьте несколько архивных библиотек (libcrypto.a
и libssl.a
) в проект Xcode. Они расположены в /usr/local/ssl/ios/lib
:
![enter image description here]()
Ответ 2
Вам нужно добавить библиотеку в качестве Framework. См. Этот вопрос: как добавить существующую инфраструктуру в Xcode 5.
ОК, чтобы добавить библиотеки OpenSSL в рамках Framework. Как это делается в Apple/Xcode.
Я использую Абсолютный Путь, как на изображении ниже, потому что Crypto ++, OpenSSL и т.д. установлены в /usr/local
. Изображение ниже - это захват экрана, который у меня есть Crypto ++, а не OpenSSL libcrypto.a
или libssl.a
. Но то же самое относится ко всем библиотекам.
![enter image description here]()