- 更新日: 2015年5月12日
- Swift & iOS
CocoaPodsでSwiftライブラリをインストールして使う
CocoaPods で Swift 製のライブラリをインストールしようとしたところ、$ pod install で以下のエラーが出ました。
1 2 3 4 5 |
$ pod install ... [!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it. |
「Swift で書かれた Pods(ライブラリ)は、frameworks としてのみ統合できるので、Podfile に use_frameworks!
の行を加えてね」とある。ネットワーク通信と JSON を解析するために、Alamofire, SwiftyJSON, Alamofire-SwiftyJSON のライブラリをインストールしようとした時に出くわしたエラーです。
CocoaPods の使い方については以下。
CocoaPodsの使い方、iOSライブラリの管理ツール | EasyRamble
— 環境 —
CocoaPods 0.36.4
Xcode 6.3.1
エラーになった Podfile
最初 Podfile を以下のように書いていたらエラーになった。
Podfile
1 2 3 4 5 6 7 8 9 10 11 |
platform :ios, '8.0' target 'GourmetSearch' do pod 'Alamofire' pod 'SwiftyJSON' pod 'Alamofire-SwiftyJSON', :git => "https://github.com/SwiftyJSON/Alamofire-SwiftyJSON.git" end target 'GourmetSearchTests' do end |
1 2 3 4 5 |
$ pod install ... [!] Pods written in Swift can only be integrated as frameworks; this feature is still in beta. Add `use_frameworks!` to your Podfile or target to opt into using it. |
この通りエラー。
Alamofire-SwiftyJSON は CocoaPods.org になかったので、GitHub 経由でインストールします。
Podfile に use_frameworks! を追加
エラーメッセージの指示に従って、Podfile に use_frameworks! を追加しました。Swift で書かれたライブラリを CocoaPods でインストールする場合は、この use_frameworks! の1行が必要になるそうです。
Podfile
1 2 3 4 5 6 7 8 9 10 11 12 |
platform :ios, '8.0' use_frameworks! target 'GourmetSearch' do pod 'Alamofire' pod 'SwiftyJSON' pod 'Alamofire-SwiftyJSON', :git => "https://github.com/SwiftyJSON/Alamofire-SwiftyJSON.git" end target 'GourmetSearchTests' do end |
1 2 3 |
$ pod install |
今度はインストール成功。
import する時の注意点
インストールしたこれらのライブラリを使おうと、作成したファイルで import しようとしたら Xcode でまたもやエラーメッセージが発生しました。
以下のように書いたところ…
1 2 3 |
import Alamofire import SwiftyJSON import AlamofireSwiftyJSON |
import AlamofireSwiftyJSON の行で、「No such module ‘AlamofireSwiftyJSON’」のエラーが出てコンパイルできない。AlamofireSwiftyJSON をハイフンやアンダーバーで区切ったりして、試行錯誤してたら以下の書き方で import できました。アンダーバーが正解らしい。
1 2 3 |
import Alamofire import SwiftyJSON import Alamofire_SwiftyJSON |
以上で、Swift 製のライブラリも CocoaPods でインストールして使うことができました。
- Swift & iOS の関連記事
- WKWebView/UIWebViewでウェブページが真っ白
- Unityのインストールと初期設定
- WKWebView/UIWebViewでNavigation Barの下にウェブページが隠れるのを回避
- SwiftでArray(配列)などをシャッフル
- Navigation Controllerで画面遷移させるSwiftコード
- Swiftでタップ/スワイプのイベント処理実装・UITapGestureRecognizerとUISwipeGestureRecognizer
- UIPageViewController画面下部のUIPageControlを非表示にする
- Swiftのバージョン確認・REPL実行
- Xcode7.0アップデートで遭遇した課題2つ
- 正規のXcodeかどうかチェック(XcodeGhostマルウェア騒動)
Leave Your Message!