‘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のインストール
- 下記のコマンドの場合は、権限が無いと言われてインストールできない。El Capitanからrootlessという概念が組み込まれ、root権限であっても/usr/binなどへのアクセスが制限されるらしい。
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)を追加する。