React Native iOS版本构建链接问题

时间:2019-09-03 08:35:45

标签: ios xcode react-native

我最近将我的项目从rn 0.57.x升级到了0.60.5。现在,我无法成功创建发行版本。它以clang: error: linker command failed with exit code 1失败。失败的原因似乎是使用发布方案时不会构建pods项目的静态库。

但是,使用调试方案(或在我的升级前rn 0.57项目中使用发布方案)进行构建会在构建输出文件夹中生成缺少的.a文件,并且一切正常。

我尝试了其他发布中的一些建议的修复程序,但我无法克服这些错误。我在本地和MS App Center CI上都遇到相同的问题。我一直在浏览互联网,花了几天的时间摆弄XCode构建设置,而没有解决方案。

我正在使用:

  • CocoaPods:1.7.5
  • XCode:10.3 10g8

出于对我rn升级技能的好奇心,我使用rn cli init创建了一个新的0.60.5项目。令我惊讶的是,新的示例项目也没有构建,并且失败并显示了相同的消息。 https://bitbucket.org/geekazoid_at/rn60test(初始提交为0.60.5,提交30545e3为0.61.0-rc.0,两者均以相同的方式失败。)

我坚信,如果我可以构建rn60test,那么我也将能够解决我的项目构建问题。随时检查它并对其运行xcodebuild或尝试在XCode中对其进行构建(两者都与发布方案一样失败)。

我仍然不相信这可能是一个错误,仅仅是因为问题是在这样一项基本任务中发生的,并且不可能被忽视。所以我在这里结束了,因为Github建议“问题”应该继续进行stackoverflow。

我不明白为什么升级后的发行版本突然产生不同的工件(缺少静态库)。这是构建输出的一部分:

ld: warning: directory not found for option '-L/Users/vsts/Library/Developer/Xcode/DerivedData/MyAwesomeProject-fofogldymcvznxdtbzasfqctwyio/Build/Intermediates.noindex/ArchiveIntermediates/OperatorApp/BuildProductsPath/Release-iphoneos/CocoaLumberjack'
... more ld -L warnings...
... more ld -L warnings...
... more ld -L warnings...
ld: warning: directory not found for option '-L/Users/vsts/Library/Developer/Xcode/DerivedData/MyAwesomeProject-fofogldymcvznxdtbzasfqctwyio/Build/Intermediates.noindex/ArchiveIntermediates/OperatorApp/BuildProductsPath/Release-iphoneos/react-native-splash-screen'
ld: warning: directory not found for option '-L/Users/vsts/Library/Developer/Xcode/DerivedData/MyAwesomeProject-fofogldymcvznxdtbzasfqctwyio/Build/Intermediates.noindex/ArchiveIntermediates/OperatorApp/BuildProductsPath/Release-iphoneos/yoga'
ld: warning: directory not found for option '-Fode_modules'
ld: warning: directory not found for option '-Feact-native-background-fetchios'
ld: library not found for -lCocoaLumberjack
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** ARCHIVE FAILED **


The following build commands failed:
    Ld /Users/vsts/Library/Developer/Xcode/DerivedData/MyAwesomeProject-fofogldymcvznxdtbzasfqctwyio/Build/Intermediates.noindex/ArchiveIntermediates/OperatorApp/IntermediateBuildFilesPath/MyAwesomeProject.build/Release-iphoneos/MyAwesomeProject.build/Objects-normal/armv7/MyAwesomeProject normal armv7
    Ld /Users/vsts/Library/Developer/Xcode/DerivedData/MyAwesomeProject-fofogldymcvznxdtbzasfqctwyio/Build/Intermediates.noindex/ArchiveIntermediates/OperatorApp/IntermediateBuildFilesPath/MyAwesomeProject.build/Release-iphoneos/MyAwesomeProject.build/Objects-normal/arm64/MyAwesomeProject normal arm64

1 个答案:

答案 0 :(得分:1)

我本月更新了我的应用程序( 0.57-> 0.60.5 ),为此使用了此链接:

https://react-native-community.github.io/upgrade-helper/

回滚您所做的所有更新,然后尝试。

更新后,取消安装您的应用并重新安装。