objective-cで書かれたcocoa podsのライブラリを使ってハマったので、何をしたかメモ程度に書いておく。
注)執筆時はswift勉強中で、objective-cはあんまり触ったことないです。cocoapodsも今回が初めての使用。
1. Xcodeでプロジェクトを作成
プロジェクト名をMySwiftProjectとする。
2. cocoapods追加
プロジェクトルートに移動。
$ pod init
$ vi Podfile (ここでライブラリを追加、仮にmyCocoaPodsLibとする)
$ pod install
$ open MySwiftProject.xcworkspace (.xcodeprojを開けてはダメ)
多分ここまでは定石通り。ここからswiftのプロジェクトにcocoapodsのobjective-cをインポートするステップ。以下を参考にした。
http://stackoverflow.com/questions/24002369/how-to-call-objective-c-code-from-swift
3. 対象の.mファイルのみをプロジェクトに追加。これでbridging-headerを自動生成
4. つぎに対象の.hファイルをプロジェクトに追加。これでbridging-headerを自動生成
もしかしたら.hはプロジェクトに追加する必要ないかもしれない。
5. bridging-header に対象の.hファイルをインポートする記述を追加
//
// Use this file to import your target's public headers that you would like to expose to Swift.
//
# import "myCocoaPodsLib.h"
6. 3.と4.でインポートした.mファイル、.hファイルを削除
これをやっておかないとbuildでリンカでエラーが出た。
これでようやくswiftでobjective-cのライブラリが使えるようになっているはず。
参考:
http://qiita.com/konomi_rose/items/6c0d2795227124653a0e
xcodeにまかせずヘッダファイルを書いて、設定する場合はこれで良さそう。
おそらくだが、cocoapodsでライブラリをインストールしておくとPodsフォルダの下に先ほどインポートした.mファイルとかがすでにプロジェクトの中に入っているっぽい。
以上、使い方がよくわからずもがいてしまった記録でした。