首页 文章

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

提问于
浏览
7

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

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

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

我仍然可以 Build 原始的Scheme .

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

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

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

2 回答

  • 23

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

    脚步:

    • 选择目标

    • 打开构建设置选项卡

    • 搜索'Library Search Paths'

    • 您将在Debug和Release旁边看到新的配置名称

    • 双击新配置名称旁边的空格

    • 输入 "$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)"

    • 将递归设置为true .

    enter image description here

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

    enter image description here

    inspired by this post

  • 7

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

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

相关问题