目标在Xcode 12.5和Swift 5中覆盖“ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES”构建设置警告。

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

当我尝试创建一个新的Xcode项目并将CocoaPods添加到项目中时,我收到了上述警告。我已经尝试过在What's ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES with CocoaPods, Swift 3 and Xcode 8中提到的解决方案,但对我没有用。

1个回答

10

在某些Xcode版本中(例如我的版本是12.2),当我们创建一个包含测试的新项目时,Xcode会将“Always Embed Swift Standard Libraries”设置为Yes,并以粗体文本显示,这表示已经被覆盖。

要确认这一点, 请在您的项目构建设置和目标构建设置中检查“Always Embed Swift Standard Libraries”设置是否已被Xcode修改。 通常它应该像这样正常显示(不是粗体),这意味着它没有被修改。 未修改的构建设置 某些版本的Xcode会修改此设置,因此它会出现在粗体文本中。 修改后的构建设置

要解决这个问题,

  1. 进入项目的Pbxproj文件(在VSCode或任何编辑器中打开)
  2. 搜索并删除所有提到的ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES
  3. 这样做后,项目将采用默认设置 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES。

现在尝试执行pod install/pod update,构建设置警告就不再出现了。


“project's Pbxproj file” 这个术语是同时适用于 mainproject.pbxprojcocoapodsproject.pbxproj 吗?是否有可能过度删除 ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES 的提及? - l --marc l

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接