更新到Xcode 8后的错误:“没有这样的模块”和“目标覆盖`EMBEDDED_CONTENT_CONTAINS_SWIFT`build设置”

时间:2016-09-19 09:30:24

标签: ios swift xcode cocoapods xcode8

当我尝试构建项目时,我正在获取Pod No such module。如果我删除期望这个Pod的代码,另一个'没有这样的模块'会出现另一个Pod,这意味着每个Pod都必须受到影响。当我输入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.

我为我的应用程序的调试和发布版本以及两个测试获得了这些,所以总共有12条消息。

我已在我的构建设置中将Always Embed Swift Standard LibrariesEMBEDDED_CONTENT_CONTAINS_SWIFT设置为NOYES,但这没有做任何事情。我还将以下代码添加到我的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

5 个答案:

答案 0 :(得分:145)

[!] 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. 单击Debug右侧,选择“Other”,输入“$(inherited)”
  4. 与“发布”相同并安装您的广告
  5. 您可以按照下图显示。

    enter image description here

答案 1 :(得分:21)

运行pod install时看到的错误不应导致No such module错误。所以我的猜测是这些错误是无关的。

摆脱pod install错误:

这是因为您在构建设置中定义了一个标记,该标记将覆盖CocoaPods设置的标记。如果将其设置为YESNO并不重要,它仍会覆盖CocoaPods中的设置。

解决此问题:

  1. 转到项目/目标 - > [项目名称] - >构建设置。
  2. 查找并点击相关设置(您可以使用右上角的搜索框)。
  3. Backspace删除设置。
  4. 您应该会看到设置从粗体变为普通字体。这意味着该设置已被删除,而是使用默认值。

    对每个标记重复以显示错误,然后重新运行pod install以验证其是否有效。

    No such module错误的原因:

    有很多方法可以发生此错误。您是否查看了这些答案,看看是否适用于您的案例?如果您再报告,那将更容易为您提供帮助。

    1. Xcode : “No such module” error, but the framework is there
    2. “no such module” on Xcode 7 beta 2

答案 2 :(得分:5)

(自2018年7月29日起更新)

  1. 项目/目标 - >项目名称 - >构建设置
  2. 构建选项
  3. 点击始终嵌入Swift标准库以突出显示
  4. 按键盘上的删除按钮
  5. 始终嵌入Swift标准库不应再粗体,并且在执行pod更新或pod安装时不会再收到此警告=)

答案 3 :(得分:3)

这就是我为我工作的:

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

然后我只是清理我的项目并再次构建它。

答案 4 :(得分:-2)

当我第二次在我的项目中导入SDWebImage时,它没有找到模块FLAnimatedImage,当我安装pod时,它警告“... ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES ... - 使用$(inherited)标志,或 - 删除来自目标的构建设置。“ 最后,我找到了完全删除SD的方法,特别是在发现者中,在pods的产品中删除SD,并在模拟器中删除项目,然后再次导入SD。