在创建发布版本时,Project无法找到框架

时间:2013-03-28 11:54:47

标签: xcode macos cocoa frameworks linker

我在项目中添加了一个新框架。 我将框架的.xcodeproj文件作为项目的子项拖动。 我将该项目的产品添加到主项目的Target Dependencies,Link Binary with Libraries和Copy Files(框架)中。 我在构建测试版或执行项目时没有任何问题。

但是,如果我尝试创建存档版本,或者如果我尝试对项目进行概要分析,则会失败并显示以下错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Something", referenced from:
      objc-class-ref in DasProject-F7DB55F503641F0A.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

tl; dr:我可以毫无问题地创建和执行调试版本,档案版本无法找到特定的框架。

2 个答案:

答案 0 :(得分:0)

尝试将“图书馆搜索路径”(“构建设置” - >“搜索路径”)设置为“$(TARGET_BUILD_DIR)”或“$(BUILT_PRODUCTS_DIR)”(在我的项目中它们是相同的)
还要检查目标的构建方案中的相应复选框,如Tools Workflow Guide for iOS中所述(忽略它是iOS文档,只需查看图像)

答案 1 :(得分:0)

我从头开始创建了一个新的Cocoa Framework,并复制了我需要的.h和.m文件。这解决了这个问题。

在比较了这个框架和我正在使用的其他框架之间的构建选项之后,我没有看到任何不合适的地方,我真的怀疑这是Xcode中的一个错误。