web-dev-qa-db-ja.com

Xcode 8への更新後のエラー:「そのようなモジュールはありません」と「ターゲットは `EMBEDDED_CONTENT_CONTAINS_Swift`build設定をオーバーライドします」

プロジェクトをビルドしようとすると、ポッドのNo such moduleを取得しています。このポッドを予期するコードを削除すると、別のポッドに対して別の「そのようなモジュールはありません」が表示されます。つまり、すべてのポッドが影響を受ける必要があります。 pod installと入力すると、次のメッセージが表示されます。

[!] The X target overrides the `EMBEDDED_CONTENT_CONTAINS_Swift` build setting defined in `X’. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

[!] The `X` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `X'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

アプリのデバッグバージョンとリリースバージョン、および2つのテストの両方でこれらを取得するため、合計で12のメッセージが表示されます。

ビルド設定でAlways Embed Swift Standard LibrariesEMBEDDED_CONTENT_CONTAINS_SwiftNOYESに設定しましたが、何もしませんでした。また、Podfileに次のコードを追加しましたが、どちらも機能しませんでした。

post_install do |installer|
installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
        config.build_settings['ALWAYS_EMBED_Swift_STANDARD_LIBRARIES'] = 'NO'
    end
end
end
69
Questioner
[!] The `X` target overrides the `ALWAYS_EMBED_Swift_STANDARD_LIBRARIES` build setting defined in `X'. This can lead to problems with the CocoaPods installation
- Use the `$(inherited)` flag, or
- Remove the build settings from the target.

今日、この問題に遭遇しました。私はそれを解決しました

  1. [プロジェクト/ターゲット]-> [プロジェクト名]->ビルド設定に移動します。
  2. 「ALWAYS_EMBED_Swift_STANDARD_LIBRARIES」を検索
  3. [デバッグ]の右側をクリックし、[その他]を選択して、「$(inherited)」と入力します
  4. 「リリース」でも同じことを行い、ポッドをインストールします

以下の画像をご覧ください。


enter image description here

145
Stark

pod installの実行時に表示されるエラーは、No such moduleエラーの原因にはなりません。したがって、私の推測では、これらのエラーは無関係です。


pod installエラーを取り除くには:

これは、CocoaPodsによって設定されたものをオーバーライドするビルド設定でフラグを定義するために発生します。 YESまたはNOに設定しても問題ありませんが、CocoaPodsの設定は上書きされます。

これを修正するには:

  1. [プロジェクト/ターゲット]-> [プロジェクト名]->ビルド設定に移動します。
  2. 関連する設定を見つけてクリックします(右上隅の検索ボックスを使用できます)。
  3. Backspaceを押して設定を削除します。

boldから通常のフォントへの設定が表示されます。これは、設定が削除され、代わりにデフォルト値を使用していることを意味します。

エラーが発生したフラグごとに繰り返し、pod installを再実行して、機能したことを確認します。


No such moduleエラーの理由:

このエラーが発生する多くの方法があります。これらの回答を見て、あなたのケースに当てはまるものがあるかどうかを確認しましたか?あなたがそれについて報告するならば、あなたを助けることはより簡単です。

  1. Xcode:「そのようなモジュールはありません」エラーですが、フレームワークは存在します
  2. Xcode 7ベータ2の「no such module」
21
askielboe

(2018年7月29日更新)

  1. プロジェクト/ターゲット->プロジェクト名->ビルド設定
  2. ビルドオプション
  3. Always Embed Swift St​​andard Librariesをクリックして、強調表示します
  4. キーボードのdeleteボタンを押します

Always Embed Swift St​​andard LibrariesはもはやBoldにならず、これを受け取ることはありませんポッドの更新またはポッドのインストールを実行する際の警告=)

5
BennyTheNerd

これは私が私のために働いたことです:

pod deintegrate || rm -rf Pods
pod install --verbose
rm -rf ~/Library/Developer/Xcode/DerivedData

その後、プロジェクトをクリーンアップして、再度ビルドします。

3
pableiros