2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

objective-cで書かれたcocoa podsのライブラリを使ってハマった件

Last updated at Posted at 2015-03-17

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ファイルとかがすでにプロジェクトの中に入っているっぽい。

以上、使い方がよくわからずもがいてしまった記録でした。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?