当我尝试构建项目时,我正在获取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 Libraries
和EMBEDDED_CONTENT_CONTAINS_SWIFT
设置为NO
和YES
,但这没有做任何事情。我还将以下代码添加到我的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
答案 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 :(得分:21)
运行pod install
时看到的错误不应导致No such module
错误。所以我的猜测是这些错误是无关的。
pod install
错误:这是因为您在构建设置中定义了一个标记,该标记将覆盖CocoaPods设置的标记。如果将其设置为YES
或NO
并不重要,它仍会覆盖CocoaPods中的设置。
解决此问题:
Backspace
删除设置。您应该会看到设置从粗体变为普通字体。这意味着该设置已被删除,而是使用默认值。
对每个标记重复以显示错误,然后重新运行pod install
以验证其是否有效。
No such module
错误的原因:有很多方法可以发生此错误。您是否查看了这些答案,看看是否适用于您的案例?如果您再报告,那将更容易为您提供帮助。
答案 2 :(得分:5)
(自2018年7月29日起更新)
始终嵌入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。