2

我在 Xcode 11.2 中遇到了NearbyMessages的问题。当我添加pod 'NearbyMessages'然后执行pod install时,当我打开时xcworkspace,我得到一个Assets.car由“[CP] Copy Pods Resources”构建阶段生成的“重复输出文件”错误:

警告:重复输出文件 '/Users/.../DerivedData/NearbyDemo-elvzmjtrsxnstlemqnzociqoajhv/Build/Products/Debug-iphonesimulator/NearbyDemo.app/Assets.car' 任务:PhaseScriptExecution [CP] Copy Pods Resources /Users/.. ./DerivedData/NearbyDemo-elvzmjtrsxnstlemqnzociqoajhv/Build/Intermediates.noindex/NearbyDemo.build/Debug-iphonesimulator/NearbyDemo.build/Script-EB8FCF95DAAD8AF429AAA51F.sh(在项目“NearbyDemo”的目标“NearbyDemo”中)

我搜索并发现了一些旧问题,例如Google Nearby Messages API Broke App Icon,似乎它们可能相关。那篇文章看起来可能是资产和 NearbyMessages 相同问题的早期表现,但看起来旧的编译器可能没有发现这个错误。

在 Xcode 10.3 中,这只是一个警告:

在 shell 脚本构建阶段“[CP] 复制 Pods 资源”中忽略重复的输出文件:“/Users/.../DerivedData/NearbyDemo-elvzmjtrsxnstlemqnzociqoajhv/Build/Products/Debug-iphonesimulator/NearbyDemo.app/Assets.car”。此警告表示非常严重的项目配置错误,可能会导致项目中的某些 shell 脚本被完全跳过,从而导致其他构建失败或构建目录中的文件丢失。这将是未来的一个硬错误。(在目标“NearbyDemo”中)

有谁知道无论如何要解决这个问题?我可以降级 Xcode,可能会让这个问题通过而不会出现硬错误,但这并不是一个非常吸引人的解决方案。


它可能不相关,但这是我的Podfile

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'NearbyDemo' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  # Pods for NearbyDemo
  pod 'NearbyMessages'
end

我在 macOS 10.15.1 上使用 Cocoapods 1.8.4 和 Xcode 11.2 (11B52)。

我发布了“iOS 附近消息 API - 产品反馈”报告,但想知道是否有人在此期间找到了解决方法。

4

1 回答 1

5

经过一番搜索,我找到了一种解决方法,可以帮助解决此问题。您可以通过更改 Xcode 设置以使用旧的构建系统来实现这一点。

Xcode / File / Workspace Settings / Build system / 选择“Legacy Build System”

如果您需要更多信息,请查看此链接 - https://github.com/CocoaPods/CocoaPods/issues/8122

在此处输入图像描述

于 2019-11-11T21:35:17.347 回答