‘openssl/pkcs7.h’ file not found への対応

‘openssl/pkcs7.h’ file not found

XCode 7からOpenSSLライブラリを使用する場合に、‘openssl/pkcs7.h’ file not foundという警告が出ることがある。これはOpenSSLのライブラリがプロジェクト内に不足しているためで、XCode7でOpenSSLを使用する場合は、CocoaPodsからOpenSSLをダウンロードして使用すると良い。

CocoaPodsのインストール

  • まずは、Xcodeバージョン管理ツールの1つであるCocoaPodsをMacにインストールする。

gemのアップデート

sudo gem update --system

CocoaPodsのインストール

sudo gem install cocoapods
    ERROR:  While executing gem ... (Errno::EPERM)
        Operation not permitted - /usr/bin/xcodeproj
  • そこで、インストールフォルダを/usr/local/binに変更してインストールする
sudo gem install -n /usr/local/bin cocoapods

CocoaPodsのセットアップ

pod setup

以上で、XCodeプロジェクト管理ツールCocoaPodsのインストールが完了する。

OpenSSLのインストール

CocoaPodsはPodfileと呼ばれる設定ファイルに、インストールの内容を設定することでインストールを実行することが可能である。XCodeでSSLを使用するには、CocoaPodsからOpenSSL-Classicをインストールする。

プロジェクトファイルに移動

cd PROJECT_DIRECTORY

Podfileを作成

source 'https://github.com/CocoaPods/Specs.git'
pod 'OpenSSL-Classic', '1.0.1.j'

OpenSSLライブラリをインストール

pod install
  • ここで当該のXcode Projectを開いていると以下のように警告されるので、Xcodeは閉じてからインストールする
[!] Please close any current Xcode sessions and use `XXXXX.xcworkspace` for this project from now on.

CocoaPodsからライブラリをインストールするとXXXXX.xcworkspaceというファイルが作成されるので、XXXXX.xcodeprojではなくXXXXX.xcworkspaceをクリックして起動する。また、ターゲットの設定で、HEADER_SEARCH_PATHSに$(inherited)を追加する。