- 2015年5月12日
- Swift & Objective-C
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 でインストールして使うことができました。
- - 関連記事 -
- Scroll View(UIScrollView)でのAutoLayout設定
- unrecognized selector sent to instance エラー
- SwiftのOptional型(Optional Type)に関するまとめ
- MagicalRecordをSwiftで使う導入〜設定までの手順
- CocoaPodsの使い方、iOSライブラリの管理ツール
- XcodeのVimキーバインド用プラグインXVim
- Swiftコーディング規約の資料まとめ
- C言語のポインタを含む複雑な宣言を解読
- Kindleで600円のSwift本を買った-Swift離陸ガイド
- RunSwiftでSwift入門
Leave Your Message!