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

当我尝试构build项目时,我No such module获得No such module 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. 

我得到了我的应用程序的debugging版本和发行版本以及这两个testing的全部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 
 [!] 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. search“ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES”
  3. 点击Debug的右边,选中'Other',input“$(inherited)”
  4. 与“发布”一样,并安装您的吊舱

你可以按照下面的图片。


在这里输入图像说明

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


要摆脱pod install错误:

发生这种情况是因为您在您的构build设置中定义了一个覆盖由CocoaPods设置的标志。 将它设置为YESNO并不重要,它仍然会覆盖CocoaPods的设置。

要解决这个问题:

  1. 转到项目/目标 – > [项目名称] – >生成设置。
  2. find并点击相关设置(您可以使用右上angular的search框)。
  3. Backspace删除设置。

你应该看到从粗体到正常字体的设置。 这意味着该设置已被删除,而是使用默认值。

重复每个标志给你一个错误,并重新运行pod install来validation它的工作。


No such module错误的原因:

有许多方法可能会发生此错误。 你看过这些答案,看看是否适用于你的情况? 如果你报告,这将是更容易帮助你。

  1. Xcode:“没有这样的模块”的错误,但框架在那里
  2. 在Xcode 7 beta 2上“没有这样的模块”

(截至2017年10月10日更新)

  1. 项目/目标 – >项目名称 – >生成设置
  2. 构build选项
  3. 点击总是embeddedSwift标准库 ,使其突出显示
  4. 按下键盘上的删除button

总是embeddedSwift标准库不应该是粗体 ,并且在执行pod更新或pod安装时不会再收到此警告=)

这是我为我工作的:

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

然后,我只是清理我的项目,并再次build立。

当我第二次在我的项目中导入SDWebImage的时候,它没有findModule FLAnimatedImage,当我安装pod时,它警告“… ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES … – 使用$(inherited)标志,或者 – 从目标。” 最后,我find了完全去除SD的方法,在取景器中专门find了pod的产品,然后在模拟器中删除项目,然后再导入SD。