2017年2月14日火曜日

CocoaPods で Quick のインストールが上手く出来ない

テスト書いてますか?
久々に Xcode を使ってみようと思って、その際にテスティングフレームワークの選択で Quick を使おうと思いました。

Quick(github)
https://github.com/Quick/Quick

さて、インストールと思って、どうやって導入するのか確認したところ、ローカライズされたページが用意されていました。

https://github.com/Quick/Quick/blob/master/Documentation/ja/InstallingQuick.md

インストールの手段としては、Git Submodules を使う方法、CocoaPods を使う方法、Carthage を使う方法と 3 パターン用意されていました。

ここでは、使い慣れている(?) CocoaPods を使ってインストールしようと思ったので、該当ページを確認しながら導入をしてみました。

ちなみに、環境は
  • Xcode 8.2.1
  • Swift 3.0.2
  • CocoaPods 1.2.0
です。

早速、書いてある通り、Podfile を作成しその中に設定を記述します。
# Podfile

use_frameworks!

def testing_pods
    pod 'Quick', '~> 0.9.0'
    pod 'Nimble', '3.0.0'
end

target 'MyTests' do
    testing_pods
end

target 'MyUITests' do
    testing_pods
end

保存して終了後、インストールコマンドを走らせ無事インストールが完了し、単純なテストを書いてみようとした所、import Quick の部分で「No such modeule ‘Quick’」のエラーが発生しました。

こういった部分が面倒だなと思い、import 文を外してビルドすると、なんとそこでもエラーが。。。

インストールに失敗したのかと思い、再度ページを見ながら慎重に行っても状況変わらず。
ビルドエラーの内容を見ても、Quick の部分でエラーになっていることは分かるのですが、ライブラリの中を変更すると CocoaPods の良い所がなくなるので、その他の方法を当たるようにしました。

探してみた所、どうも Podfile の記述方法を変えれば良いことがわかりました。
で、変更した内容が以下の通り
# Podfile

use_frameworks!

def testing_pods
  # pod 'Quick', '~> 0.8.0'
  # pod 'Nimble', '3.0.0'
  pod 'Quick', :git => 'https://github.com/Quick/Quick.git'
  pod 'Nimble', :git => 'https://github.com/Quick/Nimble.git'
end

target 'QuickSampleTests' do
  inherit! :search_paths
  testing_pods
end

target 'QuickSampleUITests' do
  inherit! :search_paths
  testing_pods
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['SWIFT_VERSION'] = '3.0' # or '3.0'
    end
  end
end
※ QuickSample というプロジェクト名にしています。

どうやら、pod ファイルを github から取得する必要があり、更に build_settings の部分に [‘SWIFT_VERSION’] = ‘3.0’ をセットするようにしてインストールすれば、import の部分でもエラーにならず、またテストも無事動くようになりました。

なんだろう?inherit の部分や、post_install のイテレータ部分とかは、公式のインストール方法には書かれていない内容だったので、若干戸惑いましたが、なんとか出来て良かったです。
Written with StackEdit.

0 件のコメント:

コメントを投稿