React Native iOS构建失败,“多个命令产生”错误

时间:2019-11-23 12:30:58

标签: android ios xcode react-native react-native-ios

我们正在做一个React Native项目。我的团队成员之一在Linux和android上添加了一些本机模块。到那时,我正在尝试在iOS中链接事物,但是由于这种错误跟踪,构建始终会失败。 Android项目正在正常构建。

我删除了xyz.xcworkspacePodfile.lock,然后尝试了pod install
另外,我尝试先删除node_modules,然后删除yarn install,然后删除yarn link

react-native-cli: 2.0.1  
react-native: 0.61.4  
yarn 1.19.1
Pod 1.8.4
XCode Version 11.2.1 (11B500)
macOS Catalina 10.15.1 (19B88)

xyz警告

duplicate output file '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/AntDesign.ttf' on task: PhaseScriptExecution [CP] Copy Pods Resources /Users/faisal/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Intermediates.noindex/xyz.build/Debug-iphonesimulator/xyz.build/Script-47F818C57EEC47EA3303EA1B.sh

xyz工作区错误

Multiple commands produce '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/Zocial.ttf':
1) Target 'xyz' (project 'xyz') has copy command from '/Users/user/Desktop/xyz/native/node_modules/react-native-vector-icons/Fonts/Zocial.ttf' to '/Users/user/Library/Developer/Xcode/DerivedData/xyz-hhesslamjsqmbobykhskliclusph/Build/Products/Debug-iphonesimulator/xyz.app/Zocial.ttf'
2) That command depends on command in Target 'xyz' (project 'xyz'): script phase “[CP] Copy Pods Resources”

类似这样的多个错误和警告,但是格式相同,但文件名不同。

4 个答案:

答案 0 :(得分:14)

问题是由于RN自动链接而导致资源重复。 要解决此问题

  1. 在项目文件上单击您的Xcode项目名称
  2. 导航到 构建阶段 标签
  3. 向下滚动到 复制捆绑包资源 s 下拉菜单
  4. 向下滚动到 复制Pod资源 ,然后将副本与 复制捆绑资源 上的副本进行比较li>
  5. 删除 复制捆绑包资源 上的重复项,而不删除 复制Pod资源
  6. 上的重复项
  7. 重建项目。 另请参阅此issue

答案 1 :(得分:2)

该问题似乎是由 React Native 0.60 中的新自动链接功能引起的 - use_native_modules 行!在 ios/Podfile 中意味着当您进行 pod install 时,在 node_modules 中找到的任何 pod 都会自动链接。这意味着在您执行 pod install 时,所有字体文件的链接都会添加到 [CP] Copy Pods Resources 中。

但如果您是新手,请不要担心,请查看此图片以获得更好的解决方案

  1. 在 Xcode 中打开你的 ios 项目
  2. 然后按照图片中的这些步骤操作 enter image description here

3.您会看到输入文件输出文件,只需从输出文件中删除重复的文件 4. 运行 react-native run-ios

就这样:) 节省了几个小时

答案 2 :(得分:0)

您需要从Copy Bundle资源中手动删除它。

否则,您需要更改构建设置以使用旧版构建。

您将在构建阶段下找到“副本捆绑包”资源。

enter image description here

答案 3 :(得分:0)

通过执行此步骤,我可以解决此问题。 所有您需要做的就是打开项目文件夹->转到/ ios并打开文件YourProjectName.xcodeproj,然后遵循此https://lifesaver.codes/answer/error-multiple-commands-produce-in-xcode-10,然后只需要删除那里的所有字体并运行npx react-native run-ios < / p>