新的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 回答
问题是Xcode希望在以自定义配置命名的文件夹中找到库 . 您可以将自定义配置添加到您使用的每个库中,或者更好地按照以下步骤使其使用通过Release配置构建的库 .
脚步:
选择目标
打开构建设置选项卡
搜索'Library Search Paths'
您将在Debug和Release旁边看到新的配置名称
双击新配置名称旁边的空格
输入
"$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)"
将递归设置为true .
(inspired by this post)
Xcode 8.3.2需要一些不同的变化 .
要使其工作,您需要更改自定义生成配置的
Per-configuration Build Products Path
. 例如,我有一个Internal
构建配置 . 在那个领域,而不是$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
,我把$(BUILD_DIR)/Release$(EFFECTIVE_PLATFORM_NAME)
,现在它工作:) .