web-dev-qa-db-ja.com

XcodeおよびCocoapodsの「そのようなモジュールはありません」エラー

最近、Xcode8と既存のプロジェクトをSwift 3.にアップグレードしました。Cocoapodsでさまざまな問題が発生した後、最初からやり直すことにしました。_pod deintegrate_を実行し、Podfileを削除した後、_Podfile.lock_、および_[Project].xcworkspace_、Cocoapodsに関する限り、私は白紙の状態でした。

次に、次のアクションを実行しました。

  1. プロジェクトの場所でターミナルを開き、_pod init_を実行してから、_pod install_を実行しました(_pod init_が作成するスタブポッドファイルを使用)。

    これは成功したようですが、次の2つの警告が出されました。

[!] The `Xena [Debug]` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-Xena/Pods-Xena.debug.xcconfig'. This can lead to problems with the CocoaPods installation - Use the `$(inherited)` flag, or - Remove the build settings from the target.

[!] The `Xena [Release]` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-Xena/Pods-Xena.release.xcconfig'. This can lead to problems with the CocoaPods installation - Use the `$(inherited)` flag, or - Remove the build settings from the target.

この時点で、Xcodeを開いてプロジェクトをビルドすると、「そのようなモジュールはありません」というエラーが表示されますが、これは完全に予想されます。

この質問 の指示に従うと、この問題は解決し、_pod install_の再実行は成功します。

  1. Xcodeを閉じ、使用しているモジュールをPodfileに追加し(以下を参照)、_pod install_を再度実行しました。端末の出力によると、これは成功しています。

  2. Xcodeを開き、プロジェクトをビルドしました。 「そのようなモジュールはありません」というエラー、具体的には_No such module 'ReactiveCocoa'_が再び表示されます

    インポートステートメントの順序に応じて、SnapKit、Hue、KMPlaceholderTextView、KeychainSwift、およびSirenでも同じ問題が発生することを確認しました。何らかの理由で、どのGoogleモジュールもこの問題の影響を受けません。

私のポッドファイル:

_# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'Xena' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for Xena
  pod 'ReactiveCocoa', :git => 'https://github.com/ReactiveCocoa/ReactiveCocoa.git'
  pod 'SnapKit', '~> 3.0.2'
  pod 'Hue', '~> 2.0.1'
  pod 'KMPlaceholderTextView', '~> 1.3.0'
  pod 'GooglePlacePicker'
  pod 'GooglePlaces'
  pod 'GoogleMaps'
  pod 'KeychainSwift', '~> 7.0'
  pod 'Siren'

  target 'XenaTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'XenaUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end
_
6
Jessica

開いていることを確認してください.xcworkspaceではなく.xcodeprojファイル。

これをさらに調べることができます post

また、[ターゲット]> [一般]> [リンクされたフレームワークとライブラリ]の下にもあります。フレームワークがそこにあることを確認してください。でもPods_Xena.framework ある

14
Munahil

試してください:

Xcode->環境設定->場所->派生データ

derivedDataフォルダーを開き、ゴミ箱に移動します

7
Adriana Carelli

次の行のコメントを解除して、プロジェクトのグローバルプラットフォームを定義します

platform :iOS, '9.0'

ポッドファイルの2行目のコメントを外すと役立ちます。