创建了新的XCode配置和方案 - 链接器突然失败

whe*_*kie 9 xcode ios react-native

新的XCode项目具有调试和发布配置.我在"ProjectName> Info"下添加了一个名为"development"的新版本,现在它是"debug"的副本.

我想创建一个用于在开发模式下构建应用程序的新方案,因此我复制了"Projectname"方案并将其命名为"DevelopmentScheme".

我将"run"和"archive"的构建配置设置为我创建的新"开发"配置.

我仍然可以建立原始的Scheme.

当项目配置了开发方案时,我也能够构建所有必需的库,但是当我进入链接阶段时,我得到错误:

ld: library not found for -lRNCookieManagerIOS clang: error: linker command failed with exit code 1 (use -v to see invocation)

作为iOS开发的相对新手,我不太确定问题是什么.既然我复制了所有内容,那么这不应该意味着它们的行为方式相同吗?关于原始计划和新计划可能有什么不同的想法?

Ben*_*ton 26

问题是Xcode希望在以自定义配置命名的文件夹中找到库.您可以将自定义配置添加到您使用的每个库中,或者更好地按照以下步骤使其使用通过Release配置构建的库.

脚步:

  • 选择目标
  • 打开构建设置选项卡
  • 搜索"图书馆搜索路径"
  • 您将看到新的配置名称以及Debug和Release
  • 双击新配置名称旁边的空格
  • 输入 "$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)"
  • 将递归设置为true.

在此输入图像描述

  • 退出对话框,您应该看到:

在此输入图像描述

(灵感来自这篇文章)

  • 谢谢你的灵感。我正在构建一个 react-native 项目,我所做的是将 `Per-configuration Build Products Path` 和 `Per-configuration Intermediate Build Files Path` 更改为 `$(PROJECT_TEMP_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)`。花了我几个小时,感谢 Xcode。 (2认同)

pvi*_*nis 8

Xcode 8.3.2需要一些不同的变化.

要使其工作,您需要更改Per-configuration Build Products Path自定义构建配置.例如,我有一个Internal构建配置.在那个领域,而不是$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),我把$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)它,现在它的工作:).