1

xcodebuild从命令行使用构建我的应用程序时,我不断收到此错误。

xcodebuild -workspace ios/APP_NAME.xcworkspace -scheme APP_NAME clean archive -sdk iphoneos -configuration Debug -UseModernBuildSystem=NO -archivePath $PWD/APP_NAME CODE_SIGNING_ALLOWED=NO;

该应用程序通过 Xcode UI 构建良好。这是一个反应原生应用程序,我尝试了这里列出的一堆东西 - Xcode - ld: library not found for -lPods,但没有用。

  • 为 Pod 和 App 项目设置相同的部署目标
  • libAmplitude.a从应用程序项目的 Frameworks 文件夹中删除
  • 设置Build Active Architecture Only为 NO
  • libAmplitude.a一起嵌入libPods-APP_NAME.a

奇怪的是,它找不到的文件实际上存在于目录中。我看到这种类型的两个故障(arm64,armv7)。

ld: warning: directory not found for option '-L-L/Users/Parth/Library/Developer/Xcode/DerivedData/APP_NAME-atzumsqdaojeyaaukpzreucvvlja/Build/Intermediates.noindex/ArchiveIntermediates/APP_NAME/BuildProductsPath/Debug-iphoneos/Amplitude'
ld: library not found for -lAmplitude
clang: error: linker command failed with exit code 1 (use -v to see invocation)

最终构建失败:

The following build commands failed:
        Ld /Users/Parth/Library/Developer/Xcode/DerivedData/APP_NAME-atzumsqdaojeyaaukpzreucvvlja/Build/Intermediates.noindex/ArchiveIntermediates/APP_NAME/IntermediateBuildFilesPath/APP_NAME.build/Debug-iphoneos/APP_NAME.build/Objects-normal/arm64/APP_NAME normal arm64
        Ld /Users/Parth/Library/Developer/Xcode/DerivedData/APP_NAME-atzumsqdaojeyaaukpzreucvvlja/Build/Intermediates.noindex/ArchiveIntermediates/APP_NAME/IntermediateBuildFilesPath/APP_NAME.build/Debug-iphoneos/APP_NAME.build/Objects-normal/armv7/APP_NAME normal armv7
(2 failures)

带有振幅的问题 - https://github.com/amplitude/Amplitude-ReactNative/issues/87

编辑

这可能是问题的根本原因,在更改other linker flags为后${inherited},我看到 2 次提及幅度。

  1. -l“幅度”
  2. -l“振幅反应原生”

链接器标志

4

1 回答 1

0

更改此设置后,我得到了这个工作-UseModernBuildSystem=YES

xcodebuild -workspace ios/APP_NAME.xcworkspace -scheme APP_NAME clean archive -sdk iphoneos -configuration Debug -UseModernBuildSystem=YES -archivePath $PWD/APP_NAME CODE_SIGNING_ALLOWED=NO;

我还必须:

  1. 更新对 iOS 11 的最低支持
  2. 将链接器标志设置为ONLY ${inhereted}
  3. 设置Build Active Architecture OnlyYES
于 2021-06-28T17:11:03.787 回答