CocoaPods の Podfile の書き方をおさらいする。

Specリポジトリ

独自の Spec リポジトリを追記することもできる。上から記述した順番に検索される。

source 'https://github.com/CocoaPods/Specs.git'

プラットフォーム

platform :ios, '8.0'

プロジェクト名

xcodeproj 'MyProject'

インストールするライブラリ

pod 'Alamofire'
pod 'Realm'

バージョンを指定してインストール

pod 'Alamofire', '~> 1.2'
pod 'Realm', '~> 0.91.5'

バージョンの指定方法

完全一致

1.0

pod 'LibraryName', '1.0'
指定バージョン超過のバージョン

1.0 超過

pod 'LibraryName', '> 1.0'
指定バージョン以上のバージョン

1.0 以上

pod 'LibraryName', '>= 1.0'
指定バージョン未満のバージョン

1.0 未満

pod 'LibraryName', '< 1.0'
指定バージョン以下のバージョン

1.0 以下

pod 'LibraryName', '<= 1.0'
指定マイナーバージョン内でのバージョン

1.0.1 以上 1.1 未満

pod 'LibraryName', '~> 1.0.1'

ターゲットの指定

ターゲットを指定してインストールされるライブラリを分けることもできる。

target 'TargetName' do
    pod 'LibraryName', '1.0'
end

target 'TargetName_Staging' do
    pod 'LibraryName', '1.0'
    pod 'LibraryName2', '~> 1.0'
end

後処理

ここでは acknowledgements.plist をコピーしている

post_install do | installer |
    require 'fileutils'
    FileUtils.cp_r('Pods/Target Support Files/Pods-TargetName/Pods-TargetName-acknowledgements.plist', 'ProjectName/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
end

Swift のライブラリの場合

Swift のライブラリの場合、 use_frameworks! を書いていないと以下のようなエラーが表示される

[!] 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.

use_frameworks!

まとめ

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
xcodeproj 'MyProject'
use_frameworks!

target 'TargetName' do
    pod 'Alamofire', '~> 1.2'
    pod 'Realm', '~> 0.91.5'
    post_install do | installer |
        require 'fileutils'
        FileUtils.cp_r('Pods/Target Support Files/Pods-TargetName/Pods-TargetName-acknowledgements.plist', 'ProjectName/Settings.bundle/Acknowledgements.plist', :remove_destination => true)
    end
end

Next PostPrevious Post