0

問題: Xcode 10 で作成されたプロジェクトのテスト ターゲットが突然、"import Quick could not find module" というメッセージで失敗し始めました。

追加の詳細: メイン ターゲットをビルドしない場合、テスト ターゲットは「FirebaseCore/FirebaseCore.h」ファイルが見つからないという理由で失敗します。また、テスト ターゲットのみをビルドする [前にプロジェクトをクリーンにする] と、メイン ターゲットまたはテスト ターゲットの依存関係からの依存関係のビルドがトリガーされないことがわかります。

Podfile は次のようになります

ENV['COCOAPODS_DISABLE_STATS'] = "true"
platform :ios, '10.0'

use_frameworks!

target 'MyProject' do
  pod 'Firebase/Core'
  pod 'Crashlytics'
  pod 'Alamofire'
  pod 'KeychainSwift'

  target 'MyProjectTests' do 
    inherit! :search_paths

    pod 'Quick'
    pod 'Nimble'
  end

  target 'MyProjectUITests' do
    inherit! :complete   
  end
end

post_install do |installer_representation|
    installer_representation.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
          if config.name == 'Debug'
            config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] = 'YES'
          end
            config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
        end
    end
end

これを修正し、テスト ターゲットのビルドがすべての依存関係のビルドを確実にトリガーするようにするにはどうすればよいですか?

4

1 に答える 1

0

解決策:

"YourTestSchema" -> スキーマの編集 -> ビルド -> 暗黙の依存関係の検索がチェックされていることを確認してください

追加の詳細: Xcode 10 の新しいビルド システムによると、Quick にはサイクル依存関係があるため、この設定をオフにし、CI が失敗するまで二度と考えませんでした。同じ間違いをしていないことを確認してください。

于 2018-10-08T10:35:44.857 に答える