Phosphophyllite

情報系学部に通う雑魚学生の日常・進捗・疑問ブログ

CocoaPodsを使う【Swift】

ライブラリ管理神ツールとして有名なCocoaPodsをSwiftで触ってみました。
まずはCocoaPodsのインストールから。
ぐぐればたくさん出てきます。

インストール

rubyを最新版にアップデートする

$ sudo gem update --system

・CocoaPodsをインストールする

$ sudo gem install cocoapods

・セットアップ

$ pod setup
CocoaPodsを使ってプロジェクトにライブラリを適用させる

今回はMicrosoftの翻訳APIを簡単に使えるライブラリ NeetMSTranslatorを利用します。

[NeetMSTranslator] Microsoft Translator を iOS で簡単に使うライブラリを公開しました! - Qiita

まず、ターミナルを立ち上げて目的のプロジェクトのディレクトリ直下へcdします。

・PodFileの編集

$ vi Podfile

で(エディタはvi以外でも)PodFileを新規作成し、下記のように書き込んで保存します。

platform :ios, '7.0'
pod 'NeetMSTranslator', '~> 0.0.3'

エディタを閉じたら

$ pod install

とうち、

Analyzing dependencies
Downloading dependencies
Installing NeetMSTranslator (0.0.3)
Generating Pods project
Integrating client project

[!] From now on use `YahooAPI_TEST.xcworkspace`.

と表示されたらライブラリの取り込みは終了です。
.xcworkspaceファイルが作成されているので、

$ open testproject.xcworkspace

でプロジェクトを開きます。

ヘッダファイルを追加する

Obj-cで書かれているライブラリをSwiftのプロジェクトで扱うためにはBridging-Header.hを作成しライブラリヘッダをインポートする必要があります。

まず、プロジェクト内に適当なObj-cファイルを作成します。後で消すので名前は何でも構いません。
そうすると「プロジェクト名-Bridging-Header.hを作成するか?」というように聞かれるので、そのままYesで作成します。
これで{プロジェクト名}-Bridging-Header.hができたので、いらないObj-cファイルは消してしまいましょう。

次に作成された{プロジェクト名}-Bridging-Header.hに

#import <NMSTranslator.h>

と書き込みます。
これでビルドして通れば問題なくライブラリが使えるはずです。

ちなみにSwiftでサンプルコードのように書こうとすると

var t = NMSTranslator()
t.initializeTranslatorWithClientID("your client ID", clientSecret: "your client secret")
t.transrateWithText("hello",
to: "ja",
success: { (response, string) -> Void in
  println(string)     // こんにちは
}) { (response, data, err) -> Void in
       println(err)
}

のようになります。