1. ホーム
  2. ios

[解決済み] Cocoapodsを使ったXcodeのユニットテスト

2022-06-16 05:42:38

質問

ここ数日、この件で壁に頭を打ち付けていますが、何度も Google/SO/Github で検索しても、私が抱えている問題に対する解決策が見つかりません!

私がしようとしていることは、Firebaseポッドを利用する私のアプリのためにいくつかのユニットテストを作成することです。

私はXcode 7.3.1 & Cocoapods 1.0.1を使っています。 更新しました。 Xcode 8.0でも問題は残っています。

このPodfileで。

platform :ios, '9.0'
use_frameworks!
inhibit_all_warnings!

target 'MyApp' do
    pod 'Firebase'
    pod 'Firebase/Auth'
    pod 'Firebase/Database'
    pod 'Firebase/Storage'

    target 'MyAppTests' do
        inherit! :search_paths
    end
end

XCTestクラスでは、次のようになります。

Missing required module 'Firebase' (必須モジュール 'Firebase')がありません。

でのエラー @testable import MyApp

あるいは、このPodfileで。

platform :ios, '9.0'
use_frameworks!
inhibit_all_warnings!

def common_pods
    pod 'SwiftyTimer'
    pod 'Firebase'
    pod 'Firebase/Auth'
    pod 'Firebase/Database'
    pod 'Firebase/Storage'
end

target 'MyApp' do
    common_pods
end

target 'MyAppTests' do
    common_pods
end

テストはビルドされますが、コンソールには警告が散見されます。

クラス <-FirebaseClassName-> は、...MyApp... と ...MyAppTests... の両方に実装されています。のどちらかが使用されます。どちらが使用されるかは未定義です。

どのように解決するのですか?

私の場合は、cocoapodsをバージョン1.1.0.rc.2に更新することで解決しました。

sudo gem install cocoapods --pre